06 2023 档案
摘要:考虑离线。 我们从小到大枚举 RRR,考虑令 sis_isi 为 l≤il \leq il≤i,且 r∈[l,R]r \in [l, R]r∈[l,R] 的答案。可以发现对于询问 l,rl,rl,r,答案即为 sr−sl−1s_r - s_{l-1}sr−sl−1。 接着我们考虑当 R←R+1
阅读全文
摘要:容易发现的是,当左端点 lll 确定时,r∈[l,n]r \in [l,n]r∈[l,n],那么 gcdi=lrai\gcd \limits_{i=l}^r a_ii=lgcdrai 的不同数量是 O(logV)O(\log V)O(logV) 的级别。 原因是,每次 gcd\gcdgcd
阅读全文
摘要:由于 m≤5m \leq 5m≤5,所以非空子序列只有 2m−1≤312^m-1 \leq 312m−1≤31 个,直接全部找出来并且放在子序列自动机上跑一下就好了。然后值域很大,朴素的用 nxt 构建子序列自动机的复杂度为 O(nv)O(nv)O(nv),vvv 是值域。这样复杂度错误,所以 ve
阅读全文
摘要:我们建立出序列自动机后,令 fx,y,zf_{x,y,z}fx,y,z 表示在三个子序列自动机分别到达 x,y,zx,y,zx,y,z 后,能往后走子序列的数量。 容易发现对于现在在 x,y,zx,y,zx,y,z 的三个点,我们只需要往外枚举 262626 个节点,并且记忆化即可。 #inclu
阅读全文
摘要:提供一个复杂度与 kkk 无关的算法。 容易发现的是,当 x<0x<0x<0 时,我们令 x←−xx \leftarrow -xx←−x, k←n−kk \leftarrow n-kk←n−k,与原题等价。 所以下文我们默认 x≥0x \geq 0x≥0。 我们先考虑最终选择所有长度 <k<k<k
阅读全文
摘要:先考虑第一问。 显然构造应该为 l,2×l,4×l,⋯ ,2k×ll, 2 \times l, 4 \times l, \cdots, 2^k \times ll,2×l,4×l,⋯,2k×l,其中 2k×l<=r2^k \times l <= r2k×l<=r 且 2k+1×l>r2^{k+1}
阅读全文
摘要:有一个很奇怪的做法。 我们令 fif_ifi 表示从 iii 出发能往外扩散的最多步数,初始时,fai=bif_{a_i} = b_ifai=bi,接着类似最短路进行松弛,于是我写了一个 SPFA,然后 TLE 了几个点。 接着我们可以用 SLF 优化,然而还是被卡掉了一个点,这里还有一个有
阅读全文
摘要:简单并查集。 考虑先对图进行并查集,令 fif_ifi 表示 iii 号节点在并查集中用 getfa 找到的结果。 对于添加边 u↔vu \leftrightarrow vu↔v,uuu 和 vvv 分别所在的连通块中的每一对点都会变得联通,也就是对于所有 x,y(fx=fu,fy=fv)x,y(
阅读全文