Problem
【NOI2009】植物大战僵尸
Time Limit:
Memory Limit:
Description
Input
Output
仅包含一个整数,表示可以获得的最大能源收入。注意,你也可以选择不进行任何攻击,这样能源收入为。
Sample Input
1 | 3 2 |
Sample Output
1 | 25 |
HINT
在样例中, 植物可以攻击位置, 可以攻击位置。
一个方案为,首先进攻,此时可以攻击 。共得到能源收益为。注意, 位置被植物保护,所以无法攻击第行中的任何植物。
数据规模
的数据满足;
的数据满足;
的数据满足,, 。
标签:最大权闭合子图
网络流
拓扑
Solution
可以发现,如果一个植物能被吃,则要先吃掉它右边的植物和所有攻击范围有它的植物。
这样可以形成一个有向图。所得到的最大收入为最大权闭合子图。
发现此有向图是可以有环的,而环上的植物一定是不能被吃的。
因而先拓扑一遍,标记掉环上的点,然后跑最小割即可。
Code
1 |
|