Processing math: 100%
会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
walfy
博客园
首页
新随笔
联系
管理
随笔- 556 文章- 0 评论- 6 阅读-
12万
04 2019 档案
bzoj3670: [Noi2014]动物园
摘要:题意:求a[1:i]的2 |border| // include define fi first define se second define db double define mp make_pair define pb push_back define mt make_tuple define
阅读全文
posted @
2019-04-29 18:52
walfy
阅读(122)
评论(0)
推荐(0)
编辑
HDU - 6054String and String
摘要:题意:给串s和t,对于串s每个位置有一个价值f,两种操作1.修改f[a]=b,2.查询串t子串Ta b在s的子串Sc d中出现位置的f和 题解:s和t建sam,把fail树按dfs序建bit套线段树,就变成了单点修改,子树(区间)查询区间个数
阅读全文
posted @
2019-04-25 13:44
walfy
阅读(191)
评论(0)
推荐(0)
编辑
edu9E. Thief in a Shop
摘要:题意:n个物品每个价值a[i],要求选k个,可以重复,问能取到哪几个价值 题解:fft裸题.但是直接一次fft,然后快速幂会boom.这样是严格的
2
20
l
o
g
2
(
2
20
)
l
o
g
(
w
)
.需要在快速幂里fft,每次取最大的2的次幂,然后fft也boom了,不知道是不是写搓了.ntt过
阅读全文
posted @
2019-04-22 20:37
walfy
阅读(277)
评论(0)
推荐(0)
编辑
Codeforces Round #129 (Div. 1)E. Little Elephant and Strings
摘要:题意:有n个串,询问每个串有多少子串在n个串中出现了至少k次. 题解:sam,每个节点开一个set维护该节点的字符串有哪几个串,启发式合并set,然后在sam上走一遍该串,对于每个可行的串,所有的fail都是可行的直接加上len,不可行就往fail上跳. ~~for(int i=0;s[i];i++
阅读全文
posted @
2019-04-22 14:31
walfy
阅读(144)
评论(0)
推荐(0)
编辑
Educational Codeforces Round 41 (Rated for Div. 2)F. k-substrings
摘要:题意比较麻烦略 题解:枚举前缀的中点,二分最远能扩展的地方,lcp来check,然后线段树维护每个点最远被覆盖的地方,然后查询线段树即可 // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GCC optimize(4) //
阅读全文
posted @
2019-04-21 16:36
walfy
阅读(120)
评论(0)
推荐(0)
编辑
2019南昌网络赛G. tsy's number
摘要:题意:
∑
n
i
=
1
∑
n
j
=
1
∑
n
k
=
1
ϕ
(
i
)
ϕ
(
j
2
)
ϕ
(
k
3
)
ϕ
(
i
)
ϕ
(
j
)
ϕ
(
k
)
ϕ
(
g
c
d
(
i
,
j
,
k
)
)
,1e4组询问,每次给$n(1 define fi first de
阅读全文
posted @
2019-04-21 09:56
walfy
阅读(963)
评论(0)
推荐(0)
编辑
Codeforces Round #422 (Div. 2)E. Liar sa+st表+dp
摘要:题意:给你两个串s,p,问你把s分开顺序不变,能不能用最多k段合成p. 题解:dp[i][j]表示s到了前i项,用了j段的最多能合成p的前缀是哪里,那么转移就是两种,
d
p
[
i
+
1
]
[
j
]
=
d
p
[
i
]
[
j
]
,
d
p
[
i
+
l
c
p
]
[
j
+
1
]
=
d
p
[
i
]
[
j
]
+
l
c
p
,这里的lcp是dp[i][j]和i
阅读全文
posted @
2019-04-19 13:30
walfy
阅读(203)
评论(0)
推荐(0)
编辑
Educational Codeforces Round 5F. Expensive Strings
摘要:题意:给n个串ti,ps,i是s在ti中出现的次数,要求找到s,使得
∑
n
i
=
1
c
i
p
s
,
i
|
s
|
最大 题解:sam裸题,每次插入时相当于在fail链上到1的位置加ci,最后统一乘该节点状态的长度,我居然写了个lct维护!= =还wa了....后来发现打个标记topo一下
阅读全文
posted @
2019-04-19 11:28
walfy
阅读(139)
评论(0)
推荐(0)
编辑
Educational Codeforces Round 53 (Rated for Div. 2)G. Yet Another LCP Problem
摘要:题意:给串s,每次询问k个数a,l个数b,问a和b作为后缀的lcp的综合 题解:和bzoj3879类似,反向sam日神仙...lcp就是fail树上的lca.把点抠出来建虚树,然后在上面dp即可.(感觉之前写的svt什么玩意)
阅读全文
posted @
2019-04-18 21:13
walfy
阅读(126)
评论(0)
推荐(0)
编辑
MemSQL Start[c]UP 2.0 - Round 1E. Three strings
摘要:题意:给3个字符串,问从1到min(l1,l2,l3)的长度的子串,找到从该位置长度为l,三个子串相同的三元组的个数 题解:把3个子串用分隔符串起来.然后分开统计每个节点在三个串中出现次数.最后乘起来就是该节点表示的三元组个数,然后l[fa[i]]+1到l[i]有贡献,对l差分一下就好了 // pr
阅读全文
posted @
2019-04-16 20:24
walfy
阅读(190)
评论(0)
推荐(0)
编辑
Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 1)D. Frequency of String
摘要:题意:有一个串s,n个串模式串t,问s的子串中长度最小的包含t k次的长度是多少 题解:把所有t建ac自动机,把s在ac自动机上匹配.保存每个模式串在s中出现的位置.这里由于t两两不同最多只有xsqrt(x),x是总长度.然后双指针扫一遍即可 这里有一个很重要的优化技巧,由于ac自动机上不是每个点都
阅读全文
posted @
2019-04-16 19:41
walfy
阅读(131)
评论(0)
推荐(0)
编辑
edu30F. Forbidden Indices
摘要:题意:给你一个字符串s有一些位置被ban了,字符串t的价值是|t| t在s中出现次数而且终点没有被ban.问你最大的价值是多少 题解:很明显t是s子串,建个sam,对于sam中每个位置,我们需要删除中点被ban的次数,只需要在sam上走一遍,到被ban的点时需要更新fa链,打个标记,根据topo序差
阅读全文
posted @
2019-04-16 13:04
walfy
阅读(141)
评论(0)
推荐(0)
编辑
codeforces727E. Games on a CD
摘要:题意:给一个n k的循环字符串可能从任意地方断开,然后m个长度k的字符串,问你能不能用下面的字符串(每个最多用一次)构成上面的字符串,能循环移位 题解:对下面的串建ac自动机,记录字符串最后一个位置,然后把上面的串扩展k个,再在ac自动机上跑确定每个节点能匹配的字符串是谁,然后枚举k个位置作为起点,
阅读全文
posted @
2019-04-16 12:43
walfy
阅读(212)
评论(0)
推荐(0)
编辑
Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 1)C. Morse Code
摘要:题意:给你n个01字符,每次问你前缀的所有本质不同的子串,由摩斯密码组成的方案数和. 题解:离线处理,把字符建sam,通过topo序来dp计算每个节点表示的子串方案数的和.统计答案时,把n个字符挨个匹配过去,把所有经过的节点加上方案数,还有每个节点的fa链,也要统计(因为是当前串的后缀),用一个vi
阅读全文
posted @
2019-04-16 10:56
walfy
阅读(168)
评论(0)
推荐(0)
编辑
Codeforces Beta Round #19C. Deletion of Repeats
摘要:题意:给一个数组,每次会删去连续重复两次的左侧部分及前面,有多个重复部分找长度最小和最靠左的部分,重复的数字最多10次 题解:根据重复数字只有10次,我们离散化后,以每两个相同数字作为起点能确定这重复的部分,一共10 n对,接下来问题就是判断这两部分是不是相同的,建sa用st表求lcp即可,然后对所
阅读全文
posted @
2019-04-15 17:07
walfy
阅读(184)
评论(0)
推荐(0)
编辑
ABBYY Cup 3.0G3. Good Substrings
摘要:题意:定义一个串合法,在n个串中出现次数在li到ri中.问s的所有本质的子串有是多少合法的 题解:把所有串用分隔符分开建sam,记录一个该节点对应每个串的出现次数,topo排序后,当该节点s出现次数不为0,而且其他串出现次数满足条件,那么该节点对应的所有子串都满足条件(因为后缀相同,在同一个串中出现
阅读全文
posted @
2019-04-15 14:58
walfy
阅读(143)
评论(0)
推荐(0)
编辑
Codeforces Beta Round #94 (Div. 1 Only)B. String sam
摘要:题意:给你一个字符串,找第k大的子字符串.(考虑相同的字符串) 题解:建sam,先预处理出每个节点的出现次数,然后处理出每个节点下面的出现次数,然后在dfs时判断一下往哪边走即可,注意一下num会爆int // pragma GCC optimize(2) // pragma GCC optimiz
阅读全文
posted @
2019-04-14 17:02
walfy
阅读(103)
评论(0)
推荐(0)
编辑
hdu5421Victor and String 两端加点的pam
摘要:题意:要求维护两端加点的字符串,以及查询本质回文串个数和所有回文串个数 题解:pam,两端加点过程详见ioi2017国家集训队论文,维护一个最长回文前缀和最长回文后缀即可,fail不用两个,能前后共用一个.维护所有回文串个数,就是用增量法,每加一个点计算含这个点的回文串的个数(即当前回文后缀),即f
阅读全文
posted @
2019-04-14 13:17
walfy
阅读(146)
评论(0)
推荐(0)
编辑
loj#2059. 「TJOI / HEOI2016」字符串 sam+线段树合并+倍增
摘要:题意:给你一个子串,m次询问,每次给你abcd,问你子串sa b的所有子串和子串sc d的最长公共前缀是多长 题解:首先要求两个子串的最长公共前缀就是把反过来插入变成最长公共后缀,两个节点在parent树上的lca就是最长公共后缀.找到某个子串就是在parent树上倍增 我们先二分答案,问题就变成了
阅读全文
posted @
2019-04-12 09:31
walfy
阅读(242)
评论(0)
推荐(0)
编辑
Codeforces Round #349 (Div. 1)E. Forensic Examination
摘要:题意:给一个初始串s,和m个模式串,q次查询每次问你第l到第r个模式串中包含
s
l
s
r
子串的最大数量是多少 题解:把初始串和模式串用分隔符间隔然后建sam,我们需要找到在sam中表示
s
l
s
r
子串的状态节点(先找到
s
r
对应的节点,然后倍增parent树即可),我们需要找到包含$
阅读全文
posted @
2019-04-07 13:42
walfy
阅读(148)
评论(0)
推荐(0)
编辑
ACM-ICPC World Finals 2019 G.First of Her Name
摘要:题意:给一颗字典树,m次查询,每次给出一个字符串,问你该字符串是字典树上多少串的后缀 题解:字典树求广义sam,每次把查询串在sam上跑一遍,最后到达的点的sz就是答案,中途没法走了,就是没有出现过 // pragma GCC optimize(2) // pragma GCC optimize(3
阅读全文
posted @
2019-04-06 14:20
walfy
阅读(602)
评论(0)
推荐(0)
编辑
51nod1647 小Z的trie
摘要:题意:给你n个字符串,m次查询,每次问你第p个字符串的s到t的字符串在n个字符串建成的字典树上出现了多少次 题解:先建出字典树,在字典树上拓展sam,记录每个子串的出现次数.查询时只需找出在字典树上的t在sam中的位置,每次往fa跳(即后缀相同,长度减小)找到第一个长度比查询串的小于等于的位置就是答
阅读全文
posted @
2019-04-06 13:50
walfy
阅读(181)
评论(0)
推荐(0)
编辑
bzoj3926: [Zjoi2015]诸神眷顾的幻想乡 后缀自动机在tire树上拓展
摘要:题意:有棵树每个点有个颜色(不超过10种),每个节点不超过20个儿子,问你每两点之间的颜色序列不同的有多少种 题解:先建出树,对于每个叶子节点,bfs一遍建在sam上,每次保留当前点在sam上的位置,拓展时用父亲节点在sam上的位置当成last即可.然后统计sam本质不同的字符串有多少个 注:dfs
阅读全文
posted @
2019-04-06 13:44
walfy
阅读(151)
评论(0)
推荐(0)
编辑
Codeforces Beta Round #64D - Professor's task
摘要:题意:两种操作1.加点2.查询点是否在之前给定点的凸包内 题解:set维护动态凸包,分别维护上下凸壳,对y取反就行,判断点是否在凸壳内,把点加进去看要不要删除就好了 // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GCC o
阅读全文
posted @
2019-04-05 10:35
walfy
阅读(111)
评论(0)
推荐(0)
编辑
bzoj2300#2300. [HAOI2011]防线修建
摘要:题解:带删点的维护凸包,1.删点2.查询凸包周长 题解:倒着做就成了带加点的维护凸包,加点时维护一下周长就没了 // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GCC optimize(4) // pragma GCC op
阅读全文
posted @
2019-04-04 20:18
walfy
阅读(167)
评论(0)
推荐(0)
编辑
loj#2353. 「NOI2007」 货币兑换 斜率优化
摘要:题意略 题解:可以列出dp方程
d
p
[
i
]
=
m
a
x
(
d
p
[
j
]
a
[
i
]
c
[
j
]
+
b
[
i
]
a
[
j
]
c
[
j
]
+
b
[
j
]
,化简可以得到$\frac{dp[i]}{b[i]}=\frac{a[i]}{b[i]} \frac{dp[j] c[j]}{a[j] c[j]+b[j]}
阅读全文
posted @
2019-04-04 19:07
walfy
阅读(208)
评论(0)
推荐(0)
编辑
Codecraft-18 and Codeforces Round #458 (Div. 1 + Div. 2, combined)G. Sum the Fibonacci
摘要:题意:给一个数组s,求
f
(
s
a
|
s
b
)
f
(
s
c
)
f
(
s
d
⊕
s
e
)
,f是斐波那契数列,而且要满足
s
a
&
s
b
==
0
,
(
s
a
|
s
b
)
&
s
c
&
(
s
d
⊕
s
e
)
=
2
i
题解:先求$A_k=f(k) \sum_{i|j==k\
阅读全文
posted @
2019-04-03 15:55
walfy
阅读(171)
评论(0)
推荐(0)
编辑
公告
昵称:
walfy
园龄:
7年11个月
粉丝:
26
关注:
19
+加关注
<
2025年2月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
更多链接
我的标签
模拟
(7)
数论
(3)
计算几何
(3)
二分
(3)
暴力
(3)
最短路
(2)
找规律
(2)
贪心
(2)
搜索
(2)
dp
(1)
更多
随笔分类
cdq分治(6)
fft(9)
fwt(4)
java学习(2)
ntt(9)
st表(1)
博弈(22)
尺取法(5)
单调栈/单调队列(5)
动态规划之dag上的dp(3)
动态规划之dp(26)
动态规划之插头dp(3)
动态规划之概率dp(6)
动态规划之区间dp(5)
动态规划之树形dp(4)
动态规划之数位dp(10)
动态规划之斜率优化dp(8)
动态规划之状压dp(5)
二分(6)
各种比赛(46)
计算几何之叉积(7)
计算几何之凸包/旋转卡壳(12)
计算几何之圆和多边形交(2)
矩阵快速幂(19)
康拓展开(1)
莫队(4)
树--prufer序列(2)
树--并查集(8)
树--树分治(5)
树--虚树(3)
数据结构之dfs序线段树(2)
数据结构之kdtree(2)
数据结构之lct(6)
数据结构之ODT(2)
数据结构之splay(9)
数据结构之treap(1)
数据结构之分块(6)
数据结构之可持久化并查集(1)
数据结构之可持久化线段树(6)
数据结构之树链剖分(5)
数据结构之树套树(4)
数据结构之树状数组(12)
数据结构之线段树(29)
数据结构之左偏树(1)
数论(26)
数论之BSGS(3)
数论之exgcd(4)
数论之伯努利数(1)
数论之高斯消元(3)
数论之莫比乌斯反演(26)
数论之线型基(3)
数论之线性欧拉筛(3)
数论之中国剩余定理(2)
水题(13)
搜索(6)
贪心(5)
图论之2-sat(4)
图论之lca(8)
图论之次小生成树(3)
图论之二分图匹配(18)
图论之欧拉回路(1)
图论之强连通分量(7)
图论之生成树计数(3)
图论之双连通分量(10)
图论之斯坦纳树(2)
图论之网络流(33)
图论之最大团(1)
图论之最短路(12)
图论之最小生成树(5)
图论之最小树形图(4)
位运算(4)
整体二分(1)
字符串处理之ac自动机(13)
字符串处理之kmp(20)
字符串处理之manacher(4)
字符串处理之后缀树组(3)
字符串处理之字典树(6)
字符串之后缀自动机(24)
字符串之回文自动机(7)
字符串之字符串hash(3)
自适应simpson(1)
总结与感想(4)
组合数学之Pólya定理(1)
组合数学之概率期望(8)
组合数学之组合数(3)
更多
随笔档案
2019年11月(1)
2019年9月(5)
2019年8月(3)
2019年7月(6)
2019年6月(2)
2019年5月(1)
2019年4月(27)
2019年3月(7)
2019年2月(6)
2019年1月(1)
2018年12月(8)
2018年11月(6)
2018年10月(16)
2018年9月(14)
2018年8月(23)
2018年7月(26)
2018年6月(14)
2018年5月(31)
2018年4月(28)
2018年3月(11)
2018年2月(9)
2018年1月(12)
2017年12月(15)
2017年11月(26)
2017年10月(26)
2017年9月(18)
2017年8月(28)
2017年7月(60)
2017年6月(23)
2017年5月(49)
2017年4月(30)
2017年3月(20)
2017年2月(4)
更多
阅读排行榜
1. hdu1054最小顶点覆盖(2384)
2. poj3080kmp或者暴力(2121)
3. poj3020二分图匹配(1311)
4. zoj1610线段树区间覆盖(1151)
5. 2019南昌网络赛G. tsy's number(963)
点击右上角即可分享