출처: https://3months.tistory.com/307 [Deep Play]

백준/Greedy 11

[BOJ] 23740 버스 노선 개편하기

https://www.acmicpc.net/problem/23740 23740번: 버스 노선 개편하기 서강 나라에서는 일직선 도로를 따라 $N$개의 버스 노선을 운영 중이다. 필요할 때마다 노선을 새로 만든 탓에 겹치거나 중복되는 노선이 많다. 복잡한 버스 노선에 지친 시민들을 위해 버스 노 www.acmicpc.net 문제 서강 나라에서는 일직선 도로를 따라 N개의 버스 노선을 운영 중이다. 필요할 때마다 노선을 새로 만든 탓에 겹치거나 중복되는 노선이 많다. 복잡한 버스 노선에 지친 시민들을 위해 버스 노선을 개편하기로 했다. 각 버스 노선은 세 정수 S, E, C로 나타낼 수 있으며, 구간 [S,E]를 요금 C로 운행한다는 뜻이다. 어떤 두 버스 노선의 구간이 한 점 이상에서 겹친다면, 두 구간을 ..

백준/Greedy 2022.03.16

[BOJ] 22988 재활용 캠페인

https://www.acmicpc.net/problem/22988 22988번: 재활용 캠페인 첫 번째 용기와 두 번째 용기를 가져가서 용량이 $\left(0+1+\frac{13}{2}\right)$㎖ $=$ $7.5$㎖ 남은 용기를, 세 번째 용기와 네 번째 용기를 가져가서 용량이 $\left(2+3+\frac{13}{2}\right)$㎖ $=$ $11.5$㎖ 남은 용 www.acmicpc.net 문제 고등학생 때였다. 친구의 손에 이끌려 처음으로 가게 된 화장품 가게는 문을 열자마자 은은한 향기가 코끝을 스치는 곳이었다. 친구를 따라가기에 급급했던 한별이의 발걸음은 이제 누가 말하지 않아도 무언가에 빨려 들어간 듯이 앞을 향했다. 파운데이션을 바르고, 블러셔를 두드리고. 거울을 본 한별이는 처음 보..

백준/Greedy 2022.02.24

[BOJ] 19580 마스크가 필요해

https://www.acmicpc.net/problem/19580 19580번: 마스크가 필요해 첫 번째 줄에는 A도시의 시민 수인 N과 A도시의 상점 수인 M이 주어진다. (1 ≤ N, M ≤ 500,000) 두 번째 줄부터 N + 1번째 줄까지는 A도시의 각 시민이 마스크에 소비할 수 있는 돈의 범위인 Li, Ri가 www.acmicpc.net 문제 코로나19가 발생하고 나서 마스크의 필요성이 증가하기 시작했다. 마스크가 없으면 생활을 하는데 어려움이 있기 때문에 마스크를 항상 구비하고 있어야 한다. 마스크의 수요가 증가함에 따라 일정했던 마스크의 가격이 상점마다 달라지게 되었다. 마스크의 가격이 제각각이기 때문에 A도시의 시민들이 전부 마스크를 갖기가 어려워지기 시작했다. A도시의 공무원인 당신은..

백준/Greedy 2022.02.23

[BOJ] 19582 200년간 폐관수련했더니 PS 최강자가 된 건에 대하여

https://www.acmicpc.net/problem/19582 19582번: 200년간 폐관수련했더니 PS 최강자가 된 건에 대하여 2220년에도 “2220 신촌지역 대학생 프로그래밍 대회 동아리 연합 수시 대회”가 성공적으로 개최된다. SUAPC은 이제 모든 학생이 즐길 수 있도록 다양한 난이도의 대회가 1년에 수시로 열리며, www.acmicpc.net 문제 2220년에도 “2220 신촌지역 대학생 프로그래밍 대회 동아리 연합 수시 대회”가 성공적으로 개최된다. SUAPC은 이제 모든 학생이 즐길 수 있도록 다양한 난이도의 대회가 1년에 수시로 열리며, 상금 규모는 억대가 되었다. 이런 미래를 예측한 연두는 냉동인간이 되어 폐관수련을 통해 알고리즘만 공부하였으며, 이제 모든 대회에서 반드시 1등..

백준/Greedy 2022.02.23

[BOJ] 2437 저울

https://www.acmicpc.net/problem/2437 2437번: 저울 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓 www.acmicpc.net 문제 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓을 수 있고, 다른 쪽에는 무게를 측정하려는 물건만 올려놓을 수 있다. 무게가 양의 정수인 N개의 저울추가 주어질 때, 이 추들을 사용하여 측정할 수 없는 양의 정수 무게 중 최솟값을 구하는 프로그램을 작성하시오. 예..

백준/Greedy 2022.02.10

[BOJ] 1049 기타줄

https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 문제 Day Of Mourning의 기타리스트 강토가 사용하는 기타에서 N개의 줄이 끊어졌다. 따라서 새로운 줄을 사거나 교체해야 한다. 강토는 되도록이면 돈을 적게 쓰려고 한다. 6줄 패키지를 살 수도 있고, 1개 또는 그 이상의 줄을 낱개로 살 수도 있다. 끊어진 기타줄의 개수 N과 기타줄 브랜드 M개가 주어지고, 각각의 브랜드에서 파는 기타줄 6개가 들어있는 패키지의 가격, 낱개로 살 때..

백준/Greedy 2022.02.10

[BOJ] 2212 센서

https://www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net 문제 한국도로공사는 고속도로의 유비쿼터스화를 위해 고속도로 위에 N개의 센서를 설치하였다. 문제는 이 센서들이 수집한 자료들을 모으고 분석할 몇 개의 집중국을 세우는 일인데, 예산상의 문제로, 고속도로 위에 최대 K개의 집중국을 세울 수 있다고 한다. 각 집중국은 센서의 수신 가능 영역을 조절할 수 있다. 집중국의 수신 가능 영역은 고속도로 상에서 연결된 구간으로 나타나게..

백준/Greedy 2022.02.10

[BOJ] 1922 네트워크 연결

https://www.acmicpc.net/problem/1922 1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net mst를 구하는 문제이다. 나는 disjoint_set을 이용한 kruskal 알고리즘으로 풀었다. #include #include #include #include #include #include #include #include #include #include #define INF 1000000000 #define endl '\n' #define ll long long using namespace std; vector v; int N,M,ans=0; int parent[1001]; bo..

백준/Greedy 2022.02.03

[BOJ] 2109 순회공연

https://www.acmicpc.net/status?user_id=yhkim8917&problem_id=2109&from_mine=1 채점 현황 www.acmicpc.net 옛날에 무작정 그리디로 풀었는데 엄청 틀리고 반례는 알게 되었지만 해결하지 못한 문제이다. 저번 학기에 알고리즘 설계와 분석 시간에 해당 문제를 배워서 수월하게 풀 수 있었다. 알설분 시간에는 disjoint set을 구현하여 풀었지만 해당 문제는 d의 값이 최대 10000밖에 되지 않기 때문에 그냥 크기 10000짜리 배열을 선언하여 풀었다. 일단 p와 d값 벡터에 저장 후에 벡터를 p를 기준으로 내림차순 정렬을 한다. 그리고 벡터를 반복문을 돌면서 벡터의 d값에 최대한 가까운 j번째에 p값을 저장해주면 된다. #include ..

백준/Greedy 2022.01.31

[BOJ] 1461 도서관

https://www.acmicpc.net/problem/1461 1461번: 도서관 세준이는 도서관에서 일한다. 도서관의 개방시간이 끝나서 세준이는 사람들이 마구 놓은 책을 다시 가져다 놓아야 한다. 세준이는 현재 0에 있고, 사람들이 마구 놓은 책도 전부 0에 있다. 각 책 www.acmicpc.net 책을 옮길 때 책이 0에 위치하므로, 양수와 음수 중 한 부분을 끝내고 다음에 다른 부분을 끝내는 것이 효율적이기 때문에 책의 위치를 양수부분과 음수 부분으로 나누어서 저장하였다. 양수 부분이든 음수 부분이든 그 절댓값(거리)이 가장 큰 곳을 방문할 때가 M권의 책 중 가장 마지막 책을 옮길 때여야지 이동거리를 최소화 할 수 있다. 따라서 처음에는 M권의 책을 모두 들고가는 것이 아니라 해당 부분(양수..

백준/Greedy 2022.01.21