我真是傻逼调了我一个小时/kk/kk/kk/kk
在跑dp的时候,记得跑每个点的时候都初始化一遍。
把注释的两行加上就有值了。
代码:
//dp[scc_cnt] = sccw[scc_cnt]; for(int i(scc_cnt); i >= 1; -- i) { //dp[i] = max(dp[i], sccw[i]); for(int j(0);j < e[i].size(); ++ j) { int to = e[i][j]; dp[to] = max(dp[to], dp[i] + sccw[to]); } }