传送门 看到唯一的依赖关系,容易想到树型dp,即\(f_{i,j}\)表示选点\(i\)及子树内连通的点,代价为\(j\)的最大价值,然后就是选课那道题 但是要注意 1.题目中的依赖关系不一定是树,可能会有环,我们可以发现环里面的点要么全选要么全不选,要用tarjan把环缩为一个点,同时把代价和价值加到缩后的点上 2.记得把缩完点后所有没有依赖关系的点连到超级点(0点上) 3.树型dp别写错了,注意边界 强行连踩三雷qwq // luogu-judger-enable-o2 #include<b…