求助DP循环顺序的问题

P1273 有线电视网

求助大佬们一个关于DP时循环的问题(见下面注解)(上面的太丑了重发一遍) for(int i = head[u];i;i = t[i].next) //这里其实可以用转化思想转化为背包问题 ```cpp { int v = t[i].to; if(v == fth)continue; Dfs2(v,u); for(int j = siz[u];j >= 1; j --) //为什么一定要先枚举 j 再枚举 k 呢?(@—@) { for(int k = 0; k <= min(siz[v],j); k ++) //为何把这一行与上面枚举j的一行调换后就不行了? { if(dp[u][j-k] == DNF)continue; dp[u][j] = max(dp[u][j],dp[u][j-k]+dp[v][k]); } } } 谢谢好心人....... ```
by GuessYCB @ 2017-10-12 21:30:30


貌似会多算>\_<用已经更新的值再去更新
by IceWa @ 2017-10-29 12:26:20


@[GuessYCB](/space/show?uid=47599) $ycb$太强啦 考古
by Tyher @ 2018-11-02 16:04:07


@[Tyher](/space/show?uid=66915) tyh太强啦 考古
by GuessYCB @ 2018-11-02 17:36:00


@[Tyher](/space/show?uid=66915) $tyh$太强啦 考古
by GuessYCB @ 2018-11-02 17:36:12


|