摘要:
链接 https://www.luogu.com.cn/problem/P5018 思路 简单的递归,极致的享受。 就是判断左子树的右子树和右子树的左子树是否一样,用递归就行,加上点剪枝。 我感觉复杂度是N^2, 评论区给出的证明说是nlogn,看不懂,贴在下面。 但是能过就行 代码 #includ 阅读全文
摘要:
链接 https://www.luogu.com.cn/problem/P3931 思路 树形dp。思路简单:使用dp[x]记录删掉以x为根节点的子树 包含的所有叶子节点 所需的最小代价,那么dp[x] +=min(dp[son],cost[x][son])。还有要注意的点就是不能直接用cost存, 阅读全文
摘要:
链接 https://www.luogu.com.cn/problem/P2014 思路 树形dp。 要点: dfs给所有节点重编号 dp[i][j]为:以第i个子节点为根节点时 选j个它的子节点(不是子树节点)的最大学分 即f[i][j]=max/min(f[i][j],f[i][j-k]+f[儿 阅读全文