1 条题解
-
0
/*
- 通向自由的钥匙 此题跟选课问题类似,n个顶点用n-1条边连接,显然是一棵树,为便于处理,先用左孩子右兄弟法转成二叉树,用f[r,k]表示以r为根,消耗能量k能取得的最大钥匙数,若取了根节点,则有了取左子树和右子树的权利,反之,则只能取右子树。 状态转移方程为: f[r,k]=max(f[right[r],k],f[left[r],j]+f[right[r], k-cost[r]-j]+ key[r])(0<=j<=k-cost[r]) 边界条件:f[r,0]=0;f[0,k]=0 最终的解:f[1,p] 时间复杂度:O(npp) Ps:树形动态规划适宜用记忆化搜索实现,此外可以用一个递归程序自顶向下构造二叉树,应该还有更好的方法。
*/
- 1
信息
- ID
- 1616
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 5
- 已通过
- 2
- 上传者