欢迎光临 ~|

Laijinyi

园龄:1年7个月粉丝:2关注:2

09 2024 档案

P9192 Pareidolia 题解
摘要:Statement 给串 t,定义 B(s)s 删一些字符后能出现最多多少个 bessie,A(t) 表示对 t 的所有子串 sB(s) 的和,有 q 次单点修改,每次改完输出 B(s). Solution 动态 d
27
0
0
P3703 树点涂色 题解
摘要:Statement 树,每个点有一个颜色,初始每个点颜色互不相同 到根链涂上新颜色 链颜色数 u 子树内点 v 到根路径的最多颜色数 Solution 首先,相同颜色的点一定构成一条从下往上的链 考虑 LCT,维护一个性质:一条实链的点的颜色相同. 于是 u 到根的颜色数 \
4
0
0
P8735
摘要:Statement 给出 k,p,L,数序列 a,满足如下条件: 1aik iai=L i,aipai+1p 答案对 20201114 取模,\(p\le k\le
5
0
0
P6292 区间本质不同子串个数
摘要:Solution 与“区间本质不同回文子串个数”类似,但没有等差数列那样优美的性质了……下面是一个更通用的做法。 考虑移动一次右端点 r,就相当于把 parent 树上一条到根链的 last endpos 设为 r. 把这个看成 access 操作. 考虑用 LCT 维护 paren
9
0
0
P6240
摘要:题面稍微有一点不一样。 Statement 给 n 个物品,每个物品有价值 vi、体积 wiq 次询问,问考虑 [L..R] 区间的物品,用容量为 m 的背包最多能装多少价值的物品,有多少种方案,每个物品只能被装一次。 \(n\le 2\cdo
7
0
0
P5975 photo 题解
摘要:Solution 先离散化,记 f(l,r,p) 为覆盖了 [l,r] 区间内纵坐标 p 的点最少矩形个数。则: f(l,r,p)=min(f(l,r,p),f(l,mid,p)+f(mid+1,r,p))\[ f(l,r,p)=\min(f(l,r,p
14
0
0
BZOJ 4932 = BZOJ 9434 = LOJ 6070 基因
摘要:Statement 问区间本质不同回文串数,强制在线,n105. 其实还有个四倍经验:BZOJ 5384. Solution 1 考虑一个结论:s 的所有回文后缀按长度排序后,可以划分为 O(log|s|) 段等差数列。 考虑离线怎么做:移动右端点 i,新增
18
0
0
BZOJ 4545 DQS 的 trie 题解
摘要:Statement 维护一棵树,边权 {a,b,c},根为 1,定义这棵树的子串为从 1 走到所有点构成的字符串的所有后缀,需要支持以下操作: 问当前树的本质不同子串数 给一个点添加一棵子树 问一个串在当前树中作为子串
7
0
0
BZOJ 4310 跳蚤 题解
摘要:Statement 把 S 分成不超过 k 段,使每段的最大子串中的最大串最小。输出这个串。 Solution 按排名二分这个串,check 中从右往左贪心地划分,需要实现 O(1) 比较两个子串大小。 #include <bits/stdc++.h> using names
10
0
0
BZOJ 3277 串 题解
摘要:Statement 给 n 个串,问每个串有多少子串是所有 n 个串中至少 k 个串的子串。 Solution 1 对于每个后缀,二分他最右的满足条件的前缀,这就是他贡献多少次。 设二分的 x,可以二分找出 height 上左边、右边第一个 < 他的位置 同样
5
0
0
BZOJ 2555 = P5212 SubString 题解
摘要:Statement 给你一个字符串 init,要求你支持两个操作: 在当前字符串的后面插入一个字符串; 询问字符串 s 在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作。 Solution extend 中 link[cur] = q,相当于 link
5
0
0
最长公共子串 题解
摘要:Statement Q7.1.2.4,时限 4s 给一个串,定义 LCS 为最长公共子串长度,q 次询问,每次给出 l,r,求 \[ \operatorname{xor}_{i=1}^{r-l+1}\{i+\mathrm{LCS}(S[l,l+i-1],S[
7
0
0
H7.1.4.1. 最短不公共子串
摘要:Statement 给两个串 A,B,其中 |A|,|B|2000,计算: A 的最短子串,他不是 B 的子串 A 的最短子串,他不是 B 的子序列 A 的最短子序列,他不是 B 的子串 A 的最短子序列,他不是 \(B\
6
0
0
H7.1.4.2. 重复旋律
摘要:Statement 给若干串,字符集为 09,这些串中每个本质不同的子串给答案贡献他代表的整数这么多,求答案模 109+7。 Solution 建广义 SAM,对于一个等价类 u,记录一个包含该等价类的串的编号,并记录任意一个 endpos
10
0
0
两倍空间线段树
摘要:int Index(int L, int R) { return L + R | L != R; }
9
0
0
双子串最大异或 题解
摘要:Statement 求 \[ \max_{1\le l_1\le r_1<l_2\le r_2\le n}\{(A_{l_1}\oplus A_{l_1+1}\oplus\cdots\oplus A_{r_1})+(A_{l_2}\oplus A_{l_2+1}\oplus\cdots\oplus
10
0
0
广义 SAM
摘要:先让 SAM 的 extend 函数返回 cur 简单来说,就是先建 Trie 再 BFS 地插入 SAM,其中 last 为 trie 上 u 的父亲。 以上是离线构建,在线如何构建? 每次先把 last 设为 0,然后在普通 SAM 上加 3 个特判: 最开始: if (nxt[last][c]
6
0
0
tricks
摘要:也叫 Tricks 对 {1,0,0,}k 次前缀和,下标从 0 开始,则 adCd+k1k1=Cd+k1d 证明:杨辉三角 对于算这种 \(\displaystyle\sum_{i\in[l_k..r_k]}\
28
0
0
KMP, Manacher, SA 存在的意义
摘要:Statement 今天有人问我: KMP 有 AC 自动机可以替代他 Manacher 有回文自动机可以替代他 SA 有 SAM 可以计算他 他们有什么存在的意义? Solution KMP,Manacher,SA 复杂度与字符集大小无关 写起来方便 对于 SA,他本身的功能就是 SAM 不可完全
8
0
0
P3735 = LOJ 2278 字符串 题解
摘要:一句话题解: “相等”等价于 LCP+LCS+klen 对于每个字符串 p,枚举其 LCP 长度,同时确定 LCS 长度,问题变成统计有多少 i,满足 s[i|LCP|+1..i]=LCP
6
0
0
HDU 5350 MZL's munhaff function 题解
摘要:Statement 给长度为 n 的单调不上升序列 AB 为 A 的后缀和。你最开始在 (n,1),要花费最小的代价跳到 (1,1)。当你在 (x,y) 时有两种选项:不花费任何代价跳到 (x1,y+1),或是花费 Bx 
5
0
0
BZOJ 4502 串 题解
摘要:妙妙数数题 key:数数题通常是,对于特定形式的计数,就盯着这个模式观察,看出一些充要条件、计数形式的转化,然后想办法维护。 优化的本质就是把难算的变成好算的,把不好一起统计的(只能一个个数的)以某种角度、用某些数据结构,一起统计(多个多个数)。 我觉得难点通常在于“盯出一些充要条件”,这也是他的主
9
0
0
BZOJ 4231 回忆树
摘要:以下为自己口胡,未经网上搜索题解验证 Statement 一棵 n 个点的树,每条边有一个小写字母边权,m 次询问,每次给定 u,v,s,问字符串 suv 路径组成的字符串中出现了几次。\(n,m\le 10^5,\sum|s|\le 3\cdo
10
0
0
BZOJ 3796 Mushroom追妹纸 题解
摘要:Statement 给 s1,s2,s3,求最长的 w 的长度,满足 ws1 子串 ws2 子串 s3 不是 w 子串 Solution 1 以下是我没看题解瞎胡的 首先一个弱智想法是,枚举 s1
6
0
0
BZOJ 1396 识别子串 题解
摘要:Statement 给 S,令 xS 的第 k 个字符,称 T=S[i..j] 为关于 x 的识别子串,当且仅当: ikj(含 x 这一位) TS 中只出现一次 求 S 关于每一位字符
4
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起