摘要: Link Solution 考虑优化求AA串的过程。 枚举一个长度d,设置断点(1,d+1,2d+1,...,n/d*d+1)。 长度为d的AA串一定经过其中恰好两个相邻断点。 所以可以在每对相邻断点间找所有同时经过它们的AA串,具体的: 求出lcp(i,d+i)和lcs(i,d+i),这可以通过对 阅读全文
posted @ 2020-07-20 23:08 Fruitea 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 以下只讨论这种一般的"我卷我自己"形式: \(f_n=\sum\limits_{i=1}^{n-1}f_if_{n-i}\) 如果式子是$f_n=\sum\limits_^f_ig_$的话,就是普通的分治FFT了。 普通分治FFT做法是:solve(l,r)时,先行递归计算左半区间solve(l,m 阅读全文
posted @ 2020-06-02 22:40 Fruitea 阅读(706) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2020-04-25 20:26 Fruitea 阅读(14) 评论(0) 推荐(1) 编辑
摘要: E Erase Subsequences "Link" Solution $t$最多由两个串构成,设分别为$t1$,$t2$(可为空串). 要检查是否合法,首先枚举$t1$,$t2$的分界线,然后一个$n^3$$dp$显然: 设$f_{i,j,k}$表示当前到了$s_i$,同时已经匹配到$t1_j$ 阅读全文
posted @ 2020-04-20 23:02 Fruitea 阅读(161) 评论(0) 推荐(0) 编辑
摘要: "Link" Solution 题意转化之后就是求有多少个长度是$n+|s|$的回文串,$s$是它的子序列。 先考虑$n+|s|$为偶数的情况。 可以大力dp计数,设$f_{x,l,r}$表示填了前$x$个和后$x$个字符,在 能匹配就匹配 的的情况下,还剩$s[l\dots r]$这段区间没有匹配 阅读全文
posted @ 2020-04-12 15:34 Fruitea 阅读(221) 评论(0) 推荐(0) 编辑
摘要: "Link" Solution 好神啊,完全想不到 ╯︿╰ 计算答案考虑期望的线性性,累加每张桌子的人数期望(取值 概率). 第i张桌子人数的取值受到一个限制: 假设第i张桌子的人光临时,第j 1张桌子还没有人坐,而[j,i)的桌子已经被占满,那么人数可能的取值范围就是$[c_{j 1}+1,c_i 阅读全文
posted @ 2020-04-05 15:34 Fruitea 阅读(247) 评论(0) 推荐(0) 编辑
摘要: "Link" Solution 首先有结论(还记得当初csp模拟考时用随机化跑出来了): $k==1$: 不需要操作//2 1 $k==n$: $n==2^t$时有解 $1 (2a%(a+b),2b%(a+b)) 同时有$a^x\equiv 1 (mod\ y)$有解当且仅当$x\perp y$ 如 阅读全文
posted @ 2020-04-05 12:10 Fruitea 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Link Solution 甩链就跑 Code 注意几个边界的特判。 #include<bits/stdc++.h> using namespace std; #define REP(i,a,b) for(int i=(a),_ed=(b);i<=_ed;++i) #define DREP(i,a, 阅读全文
posted @ 2020-03-04 20:44 Fruitea 阅读(338) 评论(0) 推荐(1) 编辑
摘要: 类欧几里得 $e.g.$ 求$\sum\limits_{x=1}^nA^xB^{\lfloor\frac{ax+b}{c}\rfloor}$ 把柿子转化成一个操作序列,对于一条直线(左上到右下),碰到一条$y=n$ 的横线进行一次操作U,碰到一条$x=n$的竖线进行一次操作$R$,碰到整点进行一次操 阅读全文
posted @ 2020-03-04 12:58 Fruitea 阅读(362) 评论(0) 推荐(2) 编辑
摘要: Dilworth定理 对于一个偏序集,其最少链划分数等于最长反链的元素个数。 补充:Dilworth定理的对偶定理:对于一个偏序集,其最少反链划分数等于最长链的元素个数。 偏序 自反性:$\forall a\in A,a\le a$ 反对称性:$\forall a.b\in A,$若$a\le b, 阅读全文
posted @ 2020-03-02 22:51 Fruitea 阅读(230) 评论(0) 推荐(1) 编辑