随笔分类 - 题目来源-OI赛事真题
摘要:求最大值不具有可减性,所以无法通过一般的数据结构实现删除。考虑二分答案,将最大值问题转化为数量问题。但是每次二分后要暴力加入所有权值大于mid的路径,单次询问时间复杂度太高。注意到对于二分时相同的“答案区间”,要加入的其实是同一些路径。所以做整体二分即可
阅读全文
摘要:用二项式反演(容斥),推出组合式。式子的瓶颈在于枚举B神每门课的得分。把这部分单独拿出来,推成自然数幂求和的形式。然后用拉格朗日反演求解。
阅读全文
摘要:题目链接 考虑求出一个数组$g$,$g[i]$表示至少有$i$个非平局的方案数。也就是说,我们钦定了$i$对点,每对点都是“祖先-后代”的关系,剩下的$m-i$对点可以任意匹配,此时的方案数就是$g[i]$。我们设答案为$f[0\dots m]$,$f[i]$表示的是恰好有$i$个非平局回合的方案数
阅读全文
摘要:"题目链接" 朴素的做法是枚举左、右端点。用$\texttt{set}$维护区间内不同值的数量,时间复杂度$O(n^2\log n)$。 考虑优化这个做法,就必须避免枚举左、右端点。一种想法是,枚举$f(l,r)$的值,然后计算这个值的出现次数。这是经典的算贡献的思想,但是似乎无法快速求出一个$f(
阅读全文
摘要:如果$\lfloor\frac{i}{k}\rfloor\neq 0$,就从$i$向$\lfloor\frac{i}{k}\rfloor$连边,则可以得到一个森林。问题转化为:给森林里每个节点安排一个点权,在保证后代的点权$\geq$祖先点权的前提下,使按编号排列时的字典序最大。 把所有权值按从小到
阅读全文
摘要:考虑建出AC自动机。则问题相当于,我们每步会从节点$i$等概率地走向$\text{trans}(i,0)$或$\text{trans}(i,1)$。给定了一个起点和若干个终点,求从每个终点结束的概率。 因为到达一个终点后游戏就结束了,我们不会继续走,所以每个终点被经过的次数要么是$0$,要么是$1$
阅读全文
摘要:题目链接 把两个互相关注的人缩成一个集合。如果对于两个集合A,B,集合A中某个人关注了集合B中的某个人,集合B中的某个人也关注了集合A中的某个人(这四个人可以互不相同),则把A,B缩成一个大集合。以此类推。例如下图中,原有A,B两个集合,后来加入了$a\rightarrow c$, $d\right
阅读全文
摘要:题解 loj3265 3266 3267 USACO 2020.2 Platinum(全) loj3265 「USACO 2020.2 Platinum」Delegation 题目链接 因为是最大化最小值,考虑二分答案。 设当前二分的答案为$K$。则要判断是否有一种划分方式,使得每条链的长度都至少为
阅读全文
摘要:考虑一个排列的交换次数何时会超过下界。以题目中的$3\ 2\ 1$为例,在把$3$向后移时$2$被向前推了一次,在把$1$向前移时$2$又被向后推了一次。这样一来一回,就产生了无效操作。于是我们发现,一个排列是好的,当且仅当在冒泡排序的过程中,不存在某个元素同时做了两个方向的移动(这样必然产生“一来
阅读全文
摘要:点分治。依次遍历分治中心的每个子树,考虑用当前子树里的路径去和前面子树里的拼接起来。dfs出根到当前子树里所有节点的路径,首先它需要是 S 的一个前缀(或后缀),然后看它的零头长度是多少,在前面找一个和它互补的。可以用桶存下每种零头长度出现了多少次
阅读全文
摘要:CASE $1\sim 3$ $n$组测试数据,每次输入一个数$x$,求$19^x$。 测试点$1$,\(x=0,1,\dots n-1\),可以直接递推。 测试点$2$要开long long并用快速幂。 测试点$3$中$x$超出了long long范围。根据欧拉定理,当$a,p$互质时,\(a^b
阅读全文