如果```g[i].size()```不为零,```dp[i]```也是要从```dp[i-1]```转移过来的,这样写就可以了:
```cpp
for(ll i=1;i<=maxzhong;i++)
{
if(g[i].size()==0)
dp[i]=dp[i-1];
else
{
dp[i]=d[i-1];// <-
for(ll j=0;j<g[i].size();j++)
{
node a=g[i][j];
dp[i]=max(dp[i],dp[a.be]+a.va);
}
}
}
```
但这样有种画蛇添足的感觉,其实不必特判```g[i].size()```是否为零,```for```循环会先判断```j=0```是否合法的。
by C_liar @ 2022-07-25 08:25:32