摘要:
I.III.CF1009F Dominant Indices 大约一年前,我曾用线段树合并硬刚过了这题,现在是正解。 可以设 \(f_{i,j}\) 表示 \(i\) 子树中深度为 \(j\) 的点的数量。于是直接长剖优化即可。时间复杂度 \(O(n)\)。 虽然因为我极其垃圾的实现导致还没有线段树 阅读全文
摘要:
I.II.[POI2014]HOT-Hotels 加强版 易于发现,三点间两两距离相等,当且仅当两个LCA较深的点到它们的LCA距离相等,且第三个点到该LCA的距离与前两个点相同。 于是我们设 \(f_{x,i}\) 表示 \(x\) 子树中有多少对点,它们到LCA距离相同,且上述距离比该LCA到 阅读全文
摘要:
I.I.【模板】树上 k 级祖先 当询问某个点 \(x\) 的 \(k\) 级祖先时,我们考虑找到其的 \(\text{highbit}(k)\) 级祖先 \(y\)(显然这个可以通过 \(O(n\log n)\) 预处理树上倍增得到)。之后,找到 \(y\) 所在长链的链顶。我们在链顶处预处理出其 阅读全文
摘要:
VI.[AGC038E] Gachapon 因为模型同III.重返现世长得很像,所以我们也来考虑minmax容斥。 首先,我们仍然翻出式子 \(\max(\mathbb S)=\sum\limits_{\mathbb{T\subseteq S}}(-1)^{|\mathbb T|+1}\min(\m 阅读全文
摘要:
V.[51Nod1355]斐波那契的最小公倍数 引理1. 设 \(f_i\) 表示斐波那契数列中第 \(i\) 项,则 \(\gcd(f_i,f_j)=f_{\gcd(i,j)}\)。 一种证明方法是打表 另一种证明方法是,首先有 \(f_{i+j}=f_{i−1}f_j+f_if_{j+1}\)( 阅读全文
摘要:
IV.UOJ#422. 【集训队作业2018】小Z的礼物 考虑直接上minmax容斥。然后,考虑DP求出对于所有的 \(\Big(|\mathbb T|,\min(\mathbb T)\Big)\) 二元组,满足其的 \(\mathbb T\) 个数。又因为 \(n\) 很小,我们尝试轮廓线DP。故 阅读全文
摘要:
III.重返现世 考虑扩展minmax定理: \(\text{Kthmax}(\mathbb S)=\sum\limits_{\mathbb{T\subseteq S}}(-1)^{|\mathbb T|-K}\dbinom{|\mathbb T|-1}{K-1}\min(\mathbb T)\) 阅读全文
摘要:
II.[PKUWC2018]随机游走 无脑上minmax容斥。问题转换为求从起点 \(S\) 出发,到达集合 \(\mathbb S\) 中某一点的期望时间。 因为有环,考虑直接爆上高斯消元,时间复杂度 \(O(n^32^n)\)。 看上去不太能过?但是这份代码卡常卡得比较优美,加上又没有出菊花图卡 阅读全文
摘要:
I.[HAOI2015]按位或 在本题中,\(\min\mathbb S\) 表示 \(\mathbb S\) 中第一个被取到的位置被取到的时间,\(\max\mathbb S\) 表示最后一个被取到的位置被取到的时间。则我们要求的就是 \(\text E(\max\mathbb S)\)。 现在, 阅读全文
摘要:
这里是minmax容斥学习笔记。 minmax容斥是一种神奇的可以在一个集合的 \(\min\) 和 \(\max\) 间架起桥梁的工具。它的公式如下: \(\max(\mathbb S)=\sum\limits_{\mathbb{T\subseteq S}}(-1)^{|\mathbb T|+1} 阅读全文