题目大意: 给你一个有向图,每条边有一个边权w以及恢复系数k, 你从s点出发乱走,经过某条边时会获得相应的收益w,而当第二次经过这条边时相应的收益为w*k下取整. 问你最大能获得的收益为多少? 思路: 缩点+DP. 首先跑一下Tarjan(只要从s开始跑,因为没跑到的地方肯定和答案没关系). 对于每个强连通分量,我们算一下经过这个强联通分量能获得的总收益sum(就是拼命在这上面绕圈圈). 把原图缩为一个DAG,然后就可以DP了. 设当前点为i,后继结点为j,边权为w,j的SCC的总收益为sum[