这题模型还真是。。裸
连我这种网络流无能力者也在几乎刚读完题就想到了最大权闭合图的模型。。
题目中的植物就是点,权值就是score,依赖关系就是每个点依赖于它右边那个点和能罩着它的点
好了,最大权闭合图的具体搞法参考AMBER大神的论文,这题就搞得差不多了
还有一个要注意的地方,这题中的依赖关系会成环,可以想到如果成环了,那这个环上的所有点都选不了了
一开始我想丑了,其实拓扑排序一遍,把剩下的点删掉就可以了(就是把这个点权值改为负无穷就可以了)
我的程序就裸找环,O(点数*边数),至于时间嘛,丑了点,但还是过了
写的有点丑,海涵海涵。。
囧,下面的代码实际上是不对的
判环那个地方我的做法是错误的,正确的做法不仅简洁而且好的多。。。
这里实际上只要拓扑排序一边去掉不能拓扑出来的点就可以了~~
因为拓扑不出来的点一定是打不掉的
代码:
最慢个点要1.5秒。。囧