随笔分类 - 题解
摘要:题目大意 一棵树,每次操作可以$cut$并$link$一次,对每个点求最少多少次操作后这个点变为重心。 题解 为了方便分析,找一个重心拉出来作为根。 考虑一个点,不难发现删掉的子树只可能是根或根的其他儿子,否则往上走不会变劣。 然后就可以随便维护了。 个人做法: 把根所有儿子的$siz$拉出来,二分
阅读全文
摘要:题目大意 一个长度为$n$的$01$串,$q$次询问,每次询问求$[l,r]$内的前缀选两个出来,$lcp$的最大值。 LCT做法 就是求两两$lca$深度的最大值。 询问按右端点排序,每加一个右端点就看一下跟每个左端点$l$的$lca$深度是多少,就可以更新$l$及以前的答案了。 从$LCT$ $
阅读全文
摘要:题目大意 给出一些线索,表示从一个位置选一个方向(左或右) 走到尽头 ,每个数字的出现顺序。 求满足条件的最短序列的长度,数字和线索数都在$10$之内。 题解 只考虑从左往右走,形成了一堆后缀。 按左端点从小到大排序,相当于构造序列,加数直到某个时刻切换到下一个。 比如$\{ 1,2,3,4,5\}
阅读全文
摘要:题目大意 有$n$个洗衣机,每次只能洗一件衣服,分别需要$a_1,a_2,...a_n$分钟;$m$个烘干机,每次只能烘干一件衣服,分别需要$b_1,b_2,...b_m$分钟。要洗并烘干$l$件衣服,问最少需要的时间。 题解 考虑只用洗衣服,相当于一开始$x_i=1$,每次选一个$i$,$ans=
阅读全文
摘要:题目大意 一个长度为$n$的序列$a$和长度为$m$的序列$b$,对于$1..t$的每个$k$,求 $$ \frac{1}{nm}\sum_{x=1}^n \sum_{y=1}^m (a_x+b_y)^k $$ $n,m,t\leq 10^5$ 题解 $$ \begin{aligned} ans&=
阅读全文
摘要:题目大意 给出一棵$n$个点的树,每个节点有一个字符,再给出一个长度为$m$的字符串$S$。求树上所有路径所代表的字符串在$S$中的出现次数。 $n,m\leq 50000$ 题解 首先一个$O(n^2)$的暴力是枚举每个点$dfs$一次,一边$dfs$一边在$S$的$SAM$上跑,开个栈记一下之前
阅读全文
摘要:题目大意 $n$个不同的球放入$k$个不同的盒子里,每个盒子里的球数都是$d$的倍数,求方案数$\%19491001$的值 subtask1(5pts): $d=1$ subtask2(25pts): $n\leq 10^3,k\leq 100$ subtask3(30pts): $n\leq 10
阅读全文
摘要:题目大意 求 $$ \sum_{i=0}^n f(i){n\choose i} x^i (1 x)^{n i} $$ 模$998244353$ $f$是一个$m$次多项式,以$0$到$m$的点值给出。 $n\leq 10^9,m\leq 2 10^4,0\leq x<998244353$ 题解 式子
阅读全文
摘要:每个人可以分为往上和往下两部分,我们将向上的路径和向下的命名为第一种路径和第二种路径。 询问就是求经过某个点的,出发点深度为d w的第一种路径数量,加上出发点深度为d+w的第二种路径的数量。 我们开个数组记录每个深度的答案。对于每条路径,我们都在下面那个点加,在上面那个点减(注意加和减都是出发点的深
阅读全文
摘要:显然0操作的时候可以当做所有树都加了这么一个点(但是后面挂到这个点的1操作的区间要对这个区间取min),这样0和2操作都跟时间没有关系了。 可以对每个1操作建一个虚点,点权为0,然后从它到下一个1操作间的所有0操作都可以连到这个虚点。虚点先默认连向上一次1操作,一边从左到右扫一边把1操作连到对应的点
阅读全文

浙公网安备 33010602011771号