摘要: 给定一棵树和 \(m\) 条路径,每条路径有权值。要求从中选若干条结点不相交的路径使得权值最大。 \(n,m\le 10^5\)。 对于树上路径的 DP 问题,常常把路径的贡献/限制放到它的 LCA 处考虑。 令 \(dp[u]\) 为 \(u\) 的子树内选完全在子树内的路径,结点不相交的最大权值 阅读全文
posted @ 2024-11-18 21:12 FLY_lai 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 传送门 发现 \(nk\) 可行,猜测是 \(O(nk)\) 的 DP。 容易想到设计 \(dp[i][j]\) 表示前 \(i\) 个物品,允许恶魔使用 \(j\) 次魔法的最大价值。 但是这样转移是有后效性的,因为恶魔可能在只考虑前 \(i\) 个物品的时候 与 只考虑前 \(j\) 个物品的时 阅读全文
posted @ 2024-11-18 15:20 FLY_lai 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 福利场。 T1: 题意:\(n\times n\) 棋盘放 \(k\) 个主教。问多少个格子被攻击了。 对每个从对角线维护 \(dp[i]\) 表示这条对角线有多少个不被攻击。可以从两边往递推。 T2: 题意:两人博弈。给定矩阵,先手每次挑一行删掉,后手每次挑一列删掉。先手想最大化最后的数,后手想最 阅读全文
posted @ 2024-11-18 11:21 FLY_lai 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 全体栽在 T1 ? T1: 二分一下内存大小然后模拟判断。关键点在于意识到 "解码" 和 "播放" 这两种事件是分开的。用一个 while 循环,每次循环从 "完成某帧的解码"、"开始某帧的解码"、"播放某帧"、"删除某帧" 之间选时间最早的时间执行。 T2: 板题,并查集额外记录个 vector 阅读全文
posted @ 2024-11-18 10:51 FLY_lai 阅读(9) 评论(0) 推荐(0) 编辑