络谷 P1514 引水入城
0.总结
Get to the key point firstly, the article comes from LawsonAbs!
1.题目
2.思想
2.1错误思想
一开始我的想法是dfs+贪心,但是直到后来wa的时候,才恍然大悟。
- step 01.贪心: 将靠近湖泊的城市按照高度从大到小的排序(写到优先队列中)
- step 02.dfs 依次将队首出队,判断是否访问过,如果已访问,则判断队首下一个;否则获取其横纵坐标,放入dfs, 找出其能够达到的所有城市,并做上标记。
- step 03. dfs 结束的标志是已经访问完所有的干旱城市。(cnt == M)。
仔细思考就会发现这么做是错误的,因为最高的城市不一定是修建蓄水池的城市。比如下面这个样例:
2 3
9 5 10
8 7 6
正确答案是
1
1
而如果是先排序,再搜索,则得到的答案是
1
2