摘要:
设 $f_{i,j}$ 表示填了 $i$ 个串,最后一个串为 $j$ 的最短长度, 考虑往后接一个串,则有 $f_{i+1,j}=\min\limits_{k=1}^n\{f_{i,k}+|s_j|-B(j,k)\}$, 其中 $B(j,k)$ 表示既是 $s_j$ 的前缀,又是 $s_k$ 的后缀 阅读全文
摘要:
A 对于 $k$,$\exists x\in[a,b],y\in[c,d],k|x,k|y$ 当且仅当 $\left\lfloor\dfrac bk\right\rfloor\ne\left\lfloor\dfrac{a-1}k\right\rfloor,\left\lfloor\dfrac dk\ 阅读全文
摘要:
340 - 160 = 180 A $$ \begin{aligned} &\sum\limits_{i=1}^nf(i)\\ =&n+\sum\limits_k\sum\limits_{i=1}^n[f(i)>k]\\ =&n+\sum\limits_k\sum\limits_{i=1}^n[\f 阅读全文
摘要:
A 图的遍历。 B 设 $i$ 怪最终被打了 $c_i|c_i\equiv a_i\pmod k$,则答案为 $\sum\limits_{i=1}^n\max(c_i-c_{i-1},0)$。 有结论:$\forall i,-k<c_i-c_{i-1}<k$。 (证明:若 $c_i-c_{i-1}\ 阅读全文
摘要:
停电不延时?那我缺的 A 20 分这一块谁给我补啊 A 考虑从前往后把每个弹珠分配给每个人,则每个弹珠在最优方案中一定优先补给手上弹珠最多的人, 所以只需维护出这个弹珠可选的人数即可,答案即位每个弹珠可选人数之积 $\times n!$(每个人的方案之间可以任意交换) B 考虑按边权从大到小依次加边 阅读全文
摘要:
A 考虑 $\bigoplus\limits_{i=1}^n a_i=0$,那随便分开两段即可。 否则设 $\bigoplus\limits_{i=1}^n a_i=x$,若能找到 $l<r$ 使得 $\bigoplus\limits_{i=1}^l a_i=x$,$\bigoplus\limits 阅读全文
摘要:
A 记得开 long long。 B 考虑倒着模拟,维护答案在每次删数前的排名, 每次删数时统计这次删去的比答案小的数的个数 $x$,则此次删数前排名比此次删数后多 $x$。 考虑每次删数时,删去的哪些数比答案小。设此次删数后答案排名为 $p$, 则此次删去的排名为 $a_k|a_k-k<p$ 的数 阅读全文
摘要:
$O(nk)$ 不带 $\log$。 每次减的位置一定在当前某最大子段里,所以观察最大子段的结构。 发现最大子段一定不与其他最大子段部分相交(本原段?), 于是发现每次把当前所有最大子段中最靠左的右端点 $-1$,可以影响互相包含的这一堆最大子段。 #include <cstdio> #includ 阅读全文
摘要:
被 翻 了 A xt 最后一步肯定选四角,所以 fengwu 肯定选与四角距离最大值最小的点, 所以 xt 第一步肯定占掉与四角距离最大值前 $k$ 小的点。 B 奇妙做法,差分优化 DP。令排列 $p$ 的价值为 $f(n,p,s)$。 设 $f_{i,j}$ 表示长度为 $i$,价值为 $j$ 阅读全文