03 2025 档案
摘要:链接 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[儿
阅读全文
摘要:链接 https://www.luogu.com.cn/problem/P1169 思路 刚开始想用类似深搜的方法:搜到一个块,然后用扫描线。 结果感觉太麻烦 (而且没有用到标签的dp),看了下题解用的是悬线法 (和扫描线也差不多嘛)。 大概的思路就是通过计算一个点向左最多能达到多远,向右最多能达到
阅读全文