본문 바로가기

그리디5

[백준][그리디] 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.
[백준][그리디] 18310 안테나 c++ 구현 https://www.acmicpc.net/problem/18310 18310번: 안테나 첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다. www.acmicpc.net 문제 문제 풀이 최적부분 구조는 정렬했을 때 크기가 짝수이면 중간 index-1 크기가 홀수이면 가운데 중간 index이다. 코드 구현 #include #include #include #include using namespace std; vector arr; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n, num, i, sum=.. 2024. 3. 19.
728x90