摘要: 悬线法。 传送门:GO 设l[i][j],r[i][j],up[i][j]表示能向左延伸的最远位置,向右延伸的最远位置,上方的最长距离。 预处理一下l和r,n方更新即可。 其余很好懂,看代码吧。 阅读全文
posted @ 2019-09-24 21:50 Nelson992770019 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 树形dp板子。 传送门:GO 用dp[i][j]表示以i为根的子树中选取j个观众能赚到的最多钱(经典模型)。 那么,dp[i][j+k]=max(dp[son[i]][k]+dp[i][j]-w,dp[i][j+k]),意思是说,如果在子树中选了k个观众,那么答案就是(当前只选了j个的情况+选子树中 阅读全文
posted @ 2019-09-24 20:28 Nelson992770019 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 背包型动归。 传送门:GO 设f[i][j]表示第i个点高度为j的最大生命值。 如果吃掉: f[i][j]=max(f[i-1][j]+t[i]-dis[i],f[i][j]) 如果垫脚: f[i][j]=max(f[i-1][j-h[i]]-dis[i],f[i][j]) 如果有一种情况能让它走出 阅读全文
posted @ 2019-09-24 17:09 Nelson992770019 阅读(186) 评论(0) 推荐(0) 编辑
摘要: DP好题,贪心好题。 传送门:GO 参考了一下rickole大大的题解:GO 用f[u][0/1/2/3/4]表示第u个点能管+2,+1,0,-1,-2层的最小消防局个数。 其余可以画个图yy一下。 个人认为本题贪心写法更具有亮点: BJpers2大大的题解:GO 简单来说,就是叶子节点的爷爷一定是 阅读全文
posted @ 2019-09-24 11:55 Nelson992770019 阅读(143) 评论(0) 推荐(0) 编辑