摘要:
CF 传送门 AT 传送门 两题主要 Trick 相同。CF 的还多了一个小 trick。 给定一棵根节点为 \(1\) 的二叉树 \(T\),你需要先保留一个包含 \(1\) 号节点的连通块,然后给每个点确定一个权值 \(a_i\),使得对于每个点 \(u\) 都有其权值 \(a_u\) 大于等于 阅读全文
摘要:
题意: 给定一棵树,第 \(i\) 个点的赋值范围是 \([L_i,R_i]\)。计数:选择一条路径,将路径上的点赋值,使得极差 \(\le K\);并求出每种这样赋值方案的权值和。 \(n\le 200\),其余 \(\le 10^9\)。 看见极差,考虑枚举最小值 \(x\),然后统计 \([x 阅读全文
摘要:
传送门 这个分数规划非常显然了。问题转化为求最长的 \(len\in [L,U]\) 的链。 长链剖分优化。 \(dp[i][j]\) 表示 \(i\) 子树向下长度为 \(j\) 的链最大权值是多少。答案在合并时更新。用先长子深搜序 + 线段树对长链剖分进行优化。 另外点分治也可以,只能说都很暴力 阅读全文
摘要:
给定一棵树和 \(m\) 条路径,每条路径有权值。要求从中选若干条结点不相交的路径使得权值最大。 \(n,m\le 10^5\)。 对于树上路径的 DP 问题,常常把路径的贡献/限制放到它的 LCA 处考虑。 令 \(dp[u]\) 为 \(u\) 的子树内选完全在子树内的路径,结点不相交的最大权值 阅读全文
摘要:
传送门 发现 \(nk\) 可行,猜测是 \(O(nk)\) 的 DP。 容易想到设计 \(dp[i][j]\) 表示前 \(i\) 个物品,允许恶魔使用 \(j\) 次魔法的最大价值。 但是这样转移是有后效性的,因为恶魔可能在只考虑前 \(i\) 个物品的时候 与 只考虑前 \(j\) 个物品的时 阅读全文
摘要:
福利场。 T1: 题意:\(n\times n\) 棋盘放 \(k\) 个主教。问多少个格子被攻击了。 对每个从对角线维护 \(dp[i]\) 表示这条对角线有多少个不被攻击。可以从两边往递推。 T2: 题意:两人博弈。给定矩阵,先手每次挑一行删掉,后手每次挑一列删掉。先手想最大化最后的数,后手想最 阅读全文
摘要:
全体栽在 T1 ? T1: 二分一下内存大小然后模拟判断。关键点在于意识到 "解码" 和 "播放" 这两种事件是分开的。用一个 while 循环,每次循环从 "完成某帧的解码"、"开始某帧的解码"、"播放某帧"、"删除某帧" 之间选时间最早的时间执行。 T2: 板题,并查集额外记录个 vector 阅读全文
摘要:
传送门 记 \(L_i=\max_{1\le j<i,t_j+(i-j)\le T}j\),即使得 \(i\) 会越狱的最靠近 \(i\) 的人。则有 \(i\) 不越狱当且仅当 \([L_i,i)\) 放了床垫。 问题转变为放 \(D\) 个床垫,使得最多的 \([L_i,i)\) 内有床垫。 观 阅读全文
摘要:
T1: 法一:\(O(n^2)\) 的 DP。\(dp[i][j][0/1]\) 表示在 \(i\) 的子树内染色,\(i\) 是红/黑,使得每个要求的结点的黑点个数都等于 \(j\)。 法二:\(O(n)\) 的神秘做法。取出最浅的被要求结点,把深度 \(\le\) 它的都染成黑色,其余点都染成红 阅读全文
摘要:
传送门 题意:给定一棵树,选 \(m\) 条路径,最大化覆盖的点个数。\(n\le 10^6\)。 容易想到每次选两个叶子是最优的。 假设有 \(l\) 个叶子,就会选 \(\min(2m,l)\) 个叶子。进一步地,叶子的父亲们也会覆盖 \(\min(2m,cnt)\) 个 …… 从叶子出发进行拓 阅读全文