10 2021 档案
摘要:去考场的路上,突然说起杜爷 NOI D1T1 做了多少多少时间(尽管他最后还是阿克了),教练就说如果他不那么头铁还能更高点分,我心想反正杜爷阿克了其实问题也不大(flag+1) 开题总览题面,想了想去年读错两题的悲惨经验觉得这次应该先看完题在准备写(flag+2) 看了第一题,毫无思路,跳了。 看了
阅读全文
摘要:CF 570D 一棵树,每个节点上有一个字母,每次查询点 $x$ 的 $y$ 级儿子的字母是否能重排成一个回文串。 trick:压位,只有01的信息(在此题中是奇偶性),可以压成一个 int 来并行计算,这样就可以砍掉一个 $\log$ 用到类似trick的题:由乃的OJ ARC 127C 给定 $
阅读全文
摘要:整理点思维题,简单题/麻烦分类讨论题就不放了。 写了的题会放代码。 ARC 126 D 状压dp + 费用提前计算。 从前往后枚举 \(i\),设 \(f_S\) 为考虑集合 \(S\) 已经连在一起且排好序的代价,并且包括提前计算的费用,这里提前计算的费用是使得有一个数想加进来的时候之间按照插排的
阅读全文
摘要:人类智慧贪心题
阅读全文
摘要:化柿子的时候化成一次函数的形式更直观一些(对我来说)。 如果是单调栈上二分 / 单调队列,这一类的,通常都是斜率或者某些东西具有单调性,这个东西不需要也尽量不要对每一种情况都整理下来应该怎么优化,是死板的。斜率优化是把一类 dp 问题变成数据结构问题,让数据结构维护这个凸包(或者说维护凸包上两点连线
阅读全文
摘要:令 \(t=k+1\),枚举 \(t\),最多只有 \(d(n)\) 个,随便钦点一个为根,每个子树的大小都是 \(c=\frac{n}{t}\),易得充要条件为 \(size\) 为 \(c\) 倍数的树的个数 \(\geq t\). \(\Rightarrow\):对于所有分出来的连通块,其 \
阅读全文
摘要:考虑边权转点权,让边权满足其为相邻点权的异或和,操作变成交换两个点的点权。 随便钦定一个为根,设 $d_i$ 为初始时 $i$ 的点权,$f_i$ 是 $i$ 期望得到为多少。如果存在 $d,f$,满足它们是相同的集合,就有解。 注意到如果确定了一个点的点权,那么其他所有点权都能唯一的确定。 现在钦
阅读全文
摘要:auto seed = std::chrono::system_clock::now().time_since_epoch().count(); std::mt19937 rnd(seed); template<typename T> T rd(T l, T r) { return std::uni
阅读全文
摘要:默认 \(n,m,q,\sum |S|\) 同阶。 大小 \(<\sqrt n\) 的称为小集合,\(>\sqrt n\) 的称为大集合,其中大集合的个数不超过 \(\sqrt n\) 个。 可以提前 \(\mathcal{O}(n\sqrt n)\) 地预处理出与其他所有集合之间有多少重复的元素,
阅读全文
摘要:从底向上考虑,如果当前节点 \(u\) 需要 \(x\) 块钱,它的兄弟(拥有相同父亲的其他节点)为 \(v\),那么它的父亲需要 \(x+\sum \min(size_v,x)\) 块钱才能保证 \(u\) 拿到 \(x\) 块钱,其中 \(size_v\) 是 \(v\) 的子树点权和。 对于每
阅读全文
摘要:原来联赛是考数论的......好像很多的结论没有给证明。
阅读全文
摘要:2023.1.30 upd:因为忘了 slope trick 想再学学,重新看了一下这个题解,发现是~~完全的~~误人子弟。只是一个很低的角度的理解方法,还是学习zxy的教程 感觉十分厉害的题,记录一下( 有个很显然的 $\mathcal{O}(n\max a)$ 的 dp,设 $f_{i,j}$
阅读全文
摘要:评分2400+,通过人数从大到小排序。 A:想出正解并且完成代码; B:想出正解未完成代码; C:未想出正解但完成代码; D:未想出正解未完成代码。 开始刷的时候没有保存网页,刷着刷着,题目通过人数更新,就都乱了。 342E C 点分树板子 假如能维护 \(c_x\) 为 \(x\) 子树内离 \(
阅读全文