2019. 7. 4. 03:15, 알고리즘/BOJ
https://www.acmicpc.net/problem/17261
각 펌프를 채우기 위해서는 해당 펌프를 root로 하는 subtree가 다 채워져야함을 알 수 있습니다. 그리고 임의의 펌프에 대해 최대 17? 18?개의 다른 subtree로부터 넘겨받을 수 있다는 사실을 이용하면 시간이 주어지면 가능한지 여부를 확인할 수 있습니다. 즉 parametric search를 하면 됩니다.
https://github.com/blisstoner/BOJ/blob/master/17261.cpp
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 13505번: 두 수 XOR (0) | 2019.07.04 |
---|---|
[BOJ] 15940번: 네트워크 해킹 (0) | 2019.07.04 |
[BOJ] 3080번: HERKABE (0) | 2019.07.04 |
[BOJ] 17261번: 석유가 넘쳐흘러 (2) | 2019.07.04 |
[BOJ] 6101번: Cleaning Up (0) | 2019.07.04 |
[BOJ] 16436번: 얼룩말 아트 (0) | 2019.05.17 |
[BOJ] 16471번: 작은 수 내기 (0) | 2019.05.13 |
Comments
-
바킹독님 안녕하세요!! 다름이 아니라 서브트리 구하실 때
while(zz != 1){
if(zz%2 == 0) arr.push_back(zz+1);
else arr.push_back(zz-1);
zz /= 2;
}
이렇게 구하셨는데 혹이 이렇게 구하는 알고리즘이 있는건가요? 아니면 어떻게 저걸 생각해 내신건가요??-
슬랙 DM으로도 답을 드렸지만 알고리즘이 따로 있는건 아니고 그냥 루트까지 올라가면서 이웃한 서브트리를 다 넣어줘야하니 저런식으로 짰어요
-