摘要:
5.09 CF575A 维护转移矩阵,线段树维护一段区间的矩阵乘法。 CF1575H 建 KMP 自动机,\(dp_{i,j,k}\) 表示前 \(i\) 位,当前自动机上走到 \(j\),已经匹配了 \(k\) 次的最小代价。当转移到终止节点时匹配次数加 \(1\)。 AT_codefestiva 阅读全文
摘要:
[JOISC2022] 监狱 思路 因为是一棵树,最短路径唯一,所以每次都让一个人走到底。当走 \(s->t\),\(s->t\) 中此时没有点,意味着起点这条路径上的人一定先于这个人走,终点在这条路径导航的人一定后于这个人走。对于他们的相对顺序的限制,先走向后走连边,连边跑拓扑排序看有没有环。复杂 阅读全文
摘要:
P10180 思路 首先答案是所有连通块大小的平方和。 先用并查集将相同颜色合起来,记录 \(sum_i\) 表示只看颜色 \(i\) 的答案。 如果对于询问 \(u,v\) 不存在 \(e(i,j)\) 满足 \(a_i=u,a_j=v\),答案为两个颜色单独的答案之和。 否则只有至多 \(n-1 阅读全文
摘要:
P10272 P7525 加强版。 思路 分类讨论。如果 \(S\) 存在一个周期,设最小周期长为 \(len\)。那么第 \(i\) 次操作是在 \(i-1\)长度上加 \((n-len)\times 2^i\)。用字符串哈希判断是否存在长为 \(i\) 的周期,只需要判断 \(s[1,n-i]= 阅读全文
摘要:
https://www.zhihu.com/tardis/bd/art/460373184 https://mem.ac/oi/algorithm/dynamic-linear-basis/ https://www.luogu.com/article/v7vgqau1 https://www.cnb 阅读全文
摘要:
PKUWC2024,NOIWC2024 240125-240204 0125 晚上到酒店,太豪华了,感觉分到普通双床的好亏。 0126 PKUWC-Day1 早上发生了什么好像都忘了。居然是 linux,弄半天不会一点。试机那道题之前做过,但搞了半天。最后只会用 codeblock 写,还好大师教了 阅读全文
摘要:
1.基本 SAM 能表示某个字符串的所有子串,且正好是所有子串。 int len[maxn],lnk[maxn]; int a[maxn][26]; int p=1,cur=1; int ed[maxn]; void insert(int c){ int nd=++cur; len[nd]=len[ 阅读全文
摘要:
P10144 考场上瞪了两个小时什么没想到,最后半小时想到一个不太一样的做法,写出来了但挂了。寄。 思路 记 \(l=2\times L\)。令 \(i\) 取 \(a_i\) 记为 \(0\),取 \(l-a_i\) 记为 \(1\),写为 01 序列。 考虑取 \(0/1\) 对 \(l\) 的 阅读全文
摘要:
P7482 思路 cdq 分治拆成 \([l,mid]\) 到 \((mid,r]\) 的贡献。 对于一个区间计算答案可以用 dp 完成。以 \(mid\) 为交界合并左右的 dp 值。设 \(f_{i,0/1}\) 表示区间 \([i,mid]\) 或区间 \((mid,i]\),是否选 \(mi 阅读全文
摘要:
P8792 CF891A 思路 为了使数组只剩 \(1\),需要从一个 \(1\) 开始不断与傍边的数做 gcd 操作,需要 \(n-cnt_1\) 次。 如果数组中没有 \(1\),那t_么需要连续对一段数 \([l,r]\) 做 gcd 操作得出一个 \(1\),再用一个 \(1\) 做 \(n 阅读全文