그리디6 [백준][그리디] 1911 흙길 보수하기 c++구현 목차https://www.acmicpc.net/problem/1911문제 문제 아이디어좌표가 매우 크므로 좌표만큼 배열을 만드는 것은 무리다.따라서 계산해주어 O(N) 순회해야 한다. 웅덩이의 시작 포인트에서 널판지를 설치하면 최적해를 만족한다. 코드 구현#include #include #include#include#include #includeusing namespace std;typedef long long ll;ll N, L, a, b;int total = 0;vector> v;//반올림을 통해 항상 널판지로 채울 수 있게 하였다.ll gapMin(ll len, ll str) { double a = len; double b = L; ll gap = ceil(a / b); //.. 2024. 9. 20. [백준][그리디] 1700 멀티탭 스케줄링 c++구현 목차https://www.acmicpc.net/problem/1700문제 문제 구현 방향최적해를 나는 다음과 같이 짰다. 앞으로 사용할 플러그인지 확인한다.앞으로 사용할 플러그가 아니라면 교체한다.모든 플러그가 앞으로 사용할 플러그라면 그 이후로 가장 늦게오는 플러그를 교체한다. 알고리즘 설명Optimal Page Replacement라는 알고리즘으로 물리적 메모리에 있는 페이지 중 가장 미래에 참조되는 페이지를 쫓아내는 방법 그 외에도 FIFO(먼저 온 것부터 swap), LRU(가장 오래전에 참조, 많이 사용되지 않은 것부터 SWAP), LFU(참조 횟수가 가장 적었던 페이지를 교체), CLOCK(오랫동안 참조되지 않는 페이지 중 하나르르 SWAP)이 있다. 코드 구현#include#include#i.. 2024. 8. 5. [백준][그리디] 1781 컵라면 c++구현 목차 https://www.acmicpc.net/problem/1781문제 문제 구현 방향우선순위 큐를 이용해 데드라인 별로 정렬한 뒤 순차적으로 넣고 빼는 이해하면 쉬운 문제였다.생각해내는 것이 많이 어려웠다. 문제 풀이위의 예제로 설명하면 다음과 같다. 데드라인: 11의 컵라면 모두를 큐에 넣는다.6 7 -> 최대 개수는 1 따라서 6을 빼낸다. 데드라인: 22의 컵라면 모두를 큐에 넣는다.7 4 5 -> 최대 개수는 2 따라서 4를 빼낸다. 데드라인: 33의 컵라면 모두를 큐에 넣는다.7 5 2 1 -> 최대 개수는 3 따라서 1을 빼낸다. 데드라인: 66의 컵라면 모두를 큐에 넣는다.7 5 2 1 - > 최대 개수는 6 따라서 빼지 않아도 된다. 답 -> 7 5 2 1 코드 구현#include.. 2024. 8. 4. [그리디] 28126 Space-A c++구현 목차https://www.acmicpc.net/problem/28126문제 문제 구현 방향무식하게 해보기 -> DP -> 그리디 순서로 해보면 되는데 나는 무식하게 해보아서 잘 맞았다.물론 코드는 매우 길다.. 코드 구현#include#include#include#includeusing namespace std;int N, K;string order;int cnt = 0;map m;int check(int x, int y) { int Mx =1, My =1; //처음 0 0 일 경우 맞음 if (x == 1 && y == 1) return 1; int xGap = x - Mx; int yGap = y - My; //xgap이 0일 경우 if (xGap == 0) { if (m['U'] .. 2024. 7. 21. 이전 1 2 다음 728x90