树形背包.DP递推的思路很简单.... 但是由于节点有15万个,先不论空间复杂度,这样开dp数组 dp[150000+10][300+10],如果初始化是memset(dp,-1,sizeof dp),则必然超时. 所以需要一个状态数剪枝...即记录这个节点最多组合的数量. UVALive是不限制内存的,所以dp[150000+10][300+10] 能够AC,HDU 4169 限制了内存大小,需要优化空间复杂度. 内存优化之后的代码,HDU上C++能AC,G++依旧MLE. #include<…