摘要:两道题题意都是一样的 不过$CF$的模数是$10^9+7$ 很简单的分析发现$A_i$项一定要有一个之前没有出现过的二进制位才能满足条件 考虑$DP$来做 设$f_{i,j}$表示$i$个数用了二进制位上的$j$个位置后满足要求的方案数 转移式为:$f_{a+b,j}=\binom{j}{k} f_ 阅读全文
posted @ 2018-07-02 16:54 Devil_Gary 阅读 (146) 评论 (1) 编辑
摘要:神奇的结论: 一个字符串的所有回文后缀的长度,可以形成$k$个等差数列,$k$是$log$级的 考虑前$R$个字符组成的字符串,对于一个等差数列,假设组成这个等差数列的回文串,最短的叫$a$,最长的叫$b$ 对于右端点是$R$的询问,左端点在$[b$上一次出现的位置开头$+1$,$a$的开头$]$这 阅读全文
posted @ 2018-06-29 17:19 Devil_Gary 阅读 (194) 评论 (1) 编辑
摘要:题意:给定一个串,把串分为偶数段 假设分为$s_1,s_2,s_3....s_k$ 求满足$ s_1=s_k,s_2=s_{ k 1 }... $的方案数模$10^9+7$ $|S|\leq 10^6$ 首先想到将原串变为$s_1 s_n s_2 s_{n 2}...$ 这样问题变成了求将新串分成任 阅读全文
posted @ 2018-06-29 17:06 Devil_Gary 阅读 (82) 评论 (1) 编辑
摘要:搞了一下午 真的是啥都不会 首先这道题要用到Min Max容斥 得到的结论是 设 $Max(S)$表示集合里最晚被访问的节点被访问的期望步数 设 $Min(S)$表示集合里最早被访问的节点被访问的期望步数 那么$ Max(S) = ∑_{T \in S} { 1^ { \lvert T \rvert 阅读全文
posted @ 2018-06-23 10:59 Devil_Gary 阅读 (79) 评论 (1) 编辑
摘要:这个在翁文涛的论文里有讲到 大概的就是一个子串的回文自动机是原串回文自动机的子图 于是每隔$\sqrt n$重新跑一个$(k \times \sqrt n,n)$的回文自动机 记录回文串个数和位置 并且分别维护后缀的$fail$和前缀的$fail$ 每次询问$(l,r)$只需要把$(k \times 阅读全文
posted @ 2018-06-22 15:29 Devil_Gary 阅读 (133) 评论 (1) 编辑
摘要:后缀平衡树的裸题 后缀平衡树简单的思想如下 具体的可以去看$clj$的论文 假设我们已经有了串$S$的后缀平衡树 插入一个字母$c$ 我们用$Si$代表原串$S$从第$i$个字符开始的后缀 则后缀$cS$与任意一个后缀$Si$的大小关系可以用 $c$与$Si$的第一个字母的大小关系 以及 后缀$S1 阅读全文
posted @ 2018-06-20 09:07 Devil_Gary 阅读 (81) 评论 (0) 编辑
摘要:题意:给n个任务 每个任务有两个值$a,b$ 现有许多机器 每台最多可以执行两次任务 若存在第二次任务则满足$a_{second}a_{i+1})$ $dp$之后只需要判定$f[0][0][0] \leq 0$是否满足来二分就好了 有个坑点是题目要求输出$ceil(ans \times 1000)$ 阅读全文
posted @ 2018-06-17 23:40 Devil_Gary 阅读 (233) 评论 (1) 编辑
摘要:题如其名啊 昨天晚上写了一发忘保存 只好今天又码一遍了 将题目中怕$p[i]$看做$i$的$father$ 可以发现每个联通块都是一个基环树 我们对每个基环删掉环上一条边 就可以得到一个森林了 可以用$LCT$维护 这时我们思考如何求解 对于一个环 拆掉边$(u,fa[u])$得到一条链$($下令$ 阅读全文
posted @ 2018-06-14 22:12 Devil_Gary 阅读 (49) 评论 (0) 编辑
摘要:题意:二维平面上右一点集$S$,共$n$个元素,开始位于平面上任意点$P$,$P$不一定属于$S$,每次操作为选一条至少包含$S$中两个元素和当前位置$P$的直线,每条直线选取概率相同,同一直线上每个点$Q \in S$ 选取概率相同,$Q$次询问 包含两个元素$t,m$ 即点$P$到$t$共操作$ 阅读全文
posted @ 2018-06-12 10:13 Devil_Gary 阅读 (162) 评论 (2) 编辑
摘要:首先对于原串建$SAM$,我们可以发先在一个点$i$的$right$集合里的点的相似度就是$len[i]$,于是可以将$SAM$的$right$集合通过$set$来启发式合并,每次加入新的点对$(i,j,len[i])$,最后离线询问二维数点就可以解决了 但是这样每次维护$set$加入的点对是平方级 阅读全文
posted @ 2018-05-31 11:03 Devil_Gary 阅读 (158) 评论 (2) 编辑