随笔分类 - 杂题璇姐
摘要:题意: 有一根长为 的巧克力,已经被切了 刀被分成 分,接下来每次在整根长度为 的巧克力上均匀随机一个点切一刀,求每一小段巧克力长度均小于一个给定值 需要的期望次数。 引理:Irwin-Hall 分布:对于 个在 内均匀分布的实数随
阅读全文
摘要:问题描述 你需要维护一个数据结构,支持:加入/删除一个区间,加入/删除一个点,查询是否存在区间到点的完美匹配,使每个区间都在匹配中。保证任何时候不存在两个互相包含的区间。 题解 考虑 Hall 定理,发现如果选出若干个区间,那么我们只关心这些区间的并。进一步可以发现只用考虑这个并是一个连续区间的情况
阅读全文
摘要:参考题解地址 1. 从树上任意一个节点开始,跳到其随机一个后代,跳到叶子的期望次数为 。 证明: 首先考虑一条链的情况。设在第 个点期望次数为 , 的前缀和为 ,那么就有 $a_u=1+\frac{S_{u-1}}{u
阅读全文
摘要:问题描述 给定一个 DAG,求一个拓扑序,使得节点 的拓扑序 。 题解 首先进行一个预处理:对于所有 ,令 $\forall (v,u)\in E, l_u\leftarrow \max(l_u,l_v+1),\forall (u,v)\in E, r_u
阅读全文
摘要:Link 题意: 给一棵 个节点的树,称一个点是好的,当且仅当它到根的路径上都是黑色(包括自己)。每次在不好的节点中随机选一个把它涂成黑色(不管原来它是否是白的),直到所有点都是好的为止。求期望涂色次数。 ~~原题题解 乐傻了,以下是 tester's soluti
阅读全文
摘要:Link 题意: 给一个二分图,求有多少种方案删去恰好两个点,使得最大匹配数不变。。 二话不说先跑一遍 Dinic 网络流,设残量网络形成的图为 。 然后开始分类讨论: 1. 删去的两个点分别在两侧 设左边删去了 ,右边删去了 。(以下称
阅读全文
摘要:题意: 给一个串, 次询问区间 中至少出现两次的子串的最大长度。 ~~写LCT是什么东东~~ 以下做法很经典: 先求出 SA 以及 height 数组,然后按 height 从大到小每次加入一条连接 与 的边,并用并查集维护每个连通块。 这样
阅读全文
摘要:Link 一道很好的复杂度均摊题目。 只需要考虑删除操作时的时间复杂度。保证复杂度的重点之一是精确定位到所有包含最大值的区间,即不去碰多余的区间。每次删除操作会删除若干个整个区间,以及至多两个区间被删一半。 由于一共最多插入了 个区间,所以前一半的复杂度是对的。 对于后一半
阅读全文
摘要:Link 超神的建模,极其有借鉴意义/cy 注:该建模对应于最小割建模 对于 个数,每个数有 种取值的技巧 ,令 $S=V_{i,0}\rightarrow V_{i,1}\rightarrow \dots \rightarrow V_{
阅读全文
摘要:太神了,专门写一篇题解 qwq 简要题意:给你 个红球和 个蓝球,你要把它们放到 个箱子里,要求没有两个箱子完全相同(即两种球个数就相同),求 的最大值。 设第 个箱子中有 个红球, 个蓝球,就变成了找平面上一
阅读全文
摘要:long long 题该怎么做?#define int long long 会多慢? 有时候,当我们被卡常的时候,不妨想一想,自己在开头定义的 #define int long long 有多大影响? 不多说,请看图:(程序在左边) 以下程序都以这个开头不变: 3次乘法(Z=1e8) 单次快速幂(Z
阅读全文
摘要:思路: 首先想到每次询问两个点后就从这两个点开始往上爬,沿路更新 dp 值即可。 #include <bits/stdc++.h> #define For(i,a,b) for(int i=a;i<=b;i++) #define Rev(i,a,b) for(int i=a;i>=b;i--) #d
阅读全文