6.25 之后的联考总结——懒得挣扎的赛季末
Trick 总结和其他问题总结另开一篇文章,这里只是记录做法。
致敬机房传奇 Eltaos。
反正无论如何都是驶向那终点,不如珍惜这或许并不有趣的过程。
6.25
\(0+100+0\),rk 倒数。
这场比较好的就是考场上切掉了 T2,但是反而没有切掉 T1
事实上后面想了一下 T1 大概也会了,好像是人均题……
T1 零个题 (tree)
设树上共 \(x\) 个叶子,用 \(\frac{x}{2}\) 条路径将叶子两两相连,要求树上每条边都被覆盖过,求路径长度和的最小值。
多次询问,每次在原树上新挂一些叶子节点,总和小于 \(10^5\)。
Solution: P6805 [CEOI2020] 春季大扫除
先研究静态问题,搞出一个合法连接方案,使用 P7320 「PMOI-4」可怜的团主 中 dfs 序 \(i\) 连 \(i+frac{n}{2}\) Trick 即可。
然后发现每条边如果覆盖次数 \(\ge3\) 就可以重新安排来 \(-2\)。
然后就发现一条边被覆盖 \(1~2\) 次,而且 \(2\) 次当且仅当子树内叶子数量为偶数。
这是好维护的。
好的现在,新挂一个节点,如果挂在叶子上则没什么影响,否则则会让该点到根(注意根是重新选择的,度数必须 \(>1\))每个点新增一个叶子节点。
变成路径异或,全局求和。
树剖维护 \(O(n\log ^2n)\) 即可,注意每次询问后还原。
T2 一个题 (ynoi)
维护一个可重集,元素数量 \(\le 2\times 10^5\),元素值域 \([0,2^{30}-1]\)。
支持加入,删除和有参数 \(k\) 询问:
将可重集划分为 \(k\) 个非空子集,每个子集权值为内所有元素按位与结果,划分权值为所有子集权值和,找到最大权值划分。
Solution:
先考虑 \(k=2\),此时按位贪心显然对,考虑每一位,如果全 \(0\) 或 \(1\),平凡。
如果有 \(0\) 和 \(1\),这一位贡献答案,当且仅当所有这一位为 \(0\) 的放在一起。
然后贪心的,它们必须放一起,故直接合并成一个数扔进去并直接加贡献。
这个过程使用 0-1 Trie 维护子树按位与结果即可 \(o(n\log^2 n)\) 快速计算。
现在 \(k>2\),发现按位贪心仍然正确,使用调整法可证明。
然后 0-1 Trie 仍然可以维护。
具体的,如果这一位为 \(1\) 的 \(\ge k\) 个仍然可以将全部这一位为 \(0\) 的合并扔进去;如果 \(<k\) 个,一个个单选最优,递归求解剩下的问题即可。
然后新维护一下子树和就行了。
6.29
\(50+0+60\),rk 倒数。
不会 T1,不会 T2,不会 T3。
数据结构烂完了。
T1 翻转基础问题
一个值域 \([-10^9,10^9]\) 的长为 \(10^5\) 的序列,对于 \(k∈[0,n]\),求出至多改变 \(k\) 的符号时候,序列的最大前缀和。
Solution:
想象一个简单的 \(O(n^2)\) 的 DP。
然后观察每一位的最优决策点,你会发现它是有决策单调性的。
然后决策单调性分治 + 主席树求前 k 大的和即可。
T2 树上基础问题
想象我不会 DDP awa,就去世力!
图论基础问题
有 \(n\) 个孤立的点和 \(\binom{n}{2}\) 条还没连接的边,现在随机排列这些边,对于每一条边如果两端点有至少一个度数为 \(0\),就连上这条边。
问最后存在 \(k\) 个连通块的概率。
Solution:
想象同样存在一个简单的 \(O(n^2)\) DP,但是和本题正解没啥关系。
先二项式反演一下改成有至少 \(k\) 条增加连通块的边。
那么会变成剩下的一部分边必须在他们后面。
钦定一个这 \(k\) 条边加入的顺序后,统计每条边有多少要求在它后面的。
然后是合法树形拓扑序概率为子树倒数乘积的 Trick。
想办法推一下式子搞成双阶乘就结束了。
7.3 lxl DS round
DS round,开摆!
等到 DS 有质的飞跃再谈 DS Round 罢。

浙公网安备 33010602011771号