随笔分类 -  字符串

摘要:[HAOI2016]找相同字符(后缀数组+单调栈) 题面 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。 分析 我们把两个字符串接在一起,中间加一个分隔符。如$\text{AABB}$和$\text{BBAA}$变成$\t 阅读全文
posted @ 2020-01-21 12:02 birchtree 阅读(208) 评论(0) 推荐(0)
摘要:[BZOJ 1717] [USACO06DEC]Milk Patterns产奶模式(后缀数组+单调队列) 题面 农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天产奶的质量,但连续的若干天的质量有很多重叠。我们称之为一个“模式”。 John的牛奶按质量可以被赋予 阅读全文
posted @ 2020-01-21 11:30 birchtree 阅读(197) 评论(0) 推荐(0)
摘要:[LOJ 6198]谢特(后缀数组+可持久化Trie+分治) 题面 定义这个字符串以第 个字符开头的后缀为后缀$i$ (编号从1 开始),每个后缀 都有一个权值 ,同时定义两个后缀$i,j(i \neq j)$的贡献为它们的最长公共前缀长度加上它们权值的异或和,也就是 $LCP(i,j)+(w_i 阅读全文
posted @ 2020-01-21 11:11 birchtree 阅读(329) 评论(0) 推荐(0)
摘要:[Luogu P4735]最大异或和(可持久化Trie) 题面 给定一个非负整数序列{a},初始长度为N。 有M个操作,有以下两种操作类型: 1、Ax:添加操作,表示在序列末尾添加一个数x,序列的长度N+1。 2、Qlrx:询问操作,你需要找到一个位置p,满足l include define max 阅读全文
posted @ 2020-01-20 22:15 birchtree 阅读(206) 评论(0) 推荐(0)
摘要:[BZOJ4477] [JSOI2015]字符串树(可持久化Trie+LCA) 题面 字符串树本质上还是一棵树,即N个节点N 1条边的连通无向无环图,节点 从1到N编号。与普通的树不同的是,树上的每条边都对应了一个字符串。萌萌 和JYY在树下玩的时候,萌萌决定考一考JYY。每次萌萌都写出一个字符串S 阅读全文
posted @ 2020-01-20 22:03 birchtree 阅读(166) 评论(0) 推荐(0)
摘要:[BZOJ 4523] [CQOI2016]路由表(Trie+单调栈) 题面 题面过长,略。 分析 对于添加的每个路由表,我们只把掩码那么长的前缀加入01Trie,然后在结尾位置标记插入时间. 查询时我们先找到查询地址在Trie上对应的一条路径。对于路径上的两个串结尾$x,y$,若$x$是$y$的祖 阅读全文
posted @ 2020-01-20 21:50 birchtree 阅读(143) 评论(0) 推荐(0)
摘要:[Luogu2870] [USACO07DEC]最佳牛线Best Cow Line(贪心+后缀数组) 题面 FJ打算带他的$N(1 \leq N \leq 30,000)$头奶牛去参加一年一度的“全美农场主大奖赛”。在这场比赛中,每个参赛者都必须让他的奶牛排成一列,然后领她们从裁判席前依次走过。 今 阅读全文
posted @ 2020-01-20 21:43 birchtree 阅读(146) 评论(0) 推荐(0)
摘要:[BZOJ3998][TJOI2015]弦论(后缀数组) 题面 对于一个给定长度为N的字符串,求它的第K小子串是什么。 T为0则表示不同位置的相同子串算作一个。T=1则表示不同位置的相同子串算作多个。K的意义如题所述。 分析 不同位置的相同子串算作一个(T=0) 每个子串都是一个后缀的前缀。那么我们 阅读全文
posted @ 2020-01-20 21:28 birchtree 阅读(259) 评论(0) 推荐(0)
摘要:[Codeforces1137B]Camp Schedule(KMP) 题面 给出两个01串S和T,要求把S重新排列,使得T在S中出现的次数最多。求重新排列后的S 分析 用贪心的思想,尽量用T首尾相连的去凑出S。比如S="00111",T="101",那么我们可以把两个101拼在一起,相同的前后缀合 阅读全文
posted @ 2020-01-17 21:46 birchtree 阅读(243) 评论(0) 推荐(0)
摘要:[LuoguP3502] [BZOJ 2085] [POJ2010]CHO Hamsters(KMP+最短路+矩阵快速幂) 题面 Tz养了$n$只仓鼠,他们都有英文小写的名字,现在Tz想用一个字母序列来表示他们的名字,只要他们的名字是字母序列中的一个子串就算,出现多次可以重复计算。现在Tz想好了要出 阅读全文
posted @ 2020-01-09 17:03 birchtree 阅读(172) 评论(0) 推荐(0)
摘要:[BZOJ 2061] Country(KMP+记忆化搜索) 题面 gaoxin神犇频繁的在发言中表现对伟大,光荣,正确的xx的热爱,我们可以做如下定义: A=伟大,光荣,正确的 B=xx C=引领我们向前 赞美祖国=ABC 拼命赞美祖国=赞美祖国 10 gaoxin的发言=拼命赞美祖国 100 显 阅读全文
posted @ 2020-01-09 16:47 birchtree 阅读(348) 评论(0) 推荐(0)
摘要:[GDOI 2014]Beyond(扩展KMP) 题面 Jodie慢慢地步入实验室,跟随在她身旁的灵体Aiden似乎有点不高兴,但还是形影不离地跟随着Jodie。 今天Jodie要进行的实验在一个很大很大的圆环上面,圆环上有L个格子,每个格子上都显示着一个小写英文字母,Jodie从任意格子开始当她离 阅读全文
posted @ 2020-01-09 16:26 birchtree 阅读(225) 评论(0) 推荐(0)
摘要:3张图带你看懂扩展KMP(EXKMP) 约定: 对于一个字符串$s$,我们规定$s[l,r]$表示字符$s[l],s[l+1],s[l+2],\dots,s[r-1],s[r]$按顺序拼接成的字符串.s的下标从1开始.$s[1,i] (i \in[1,n])$表示$s$的一个前缀,$s[i,n](i 阅读全文
posted @ 2020-01-03 22:42 birchtree 阅读(544) 评论(0) 推荐(0)
摘要:[BZOJ 4820] [SDOI2017] 硬币游戏(高斯消元+概率论+字符串hash) 题面 扔很多次硬币后,用H表示正面朝上,用T表示反面朝上,会得到一个硬币序列。比如HTT表示第一次正面朝上,后两次反面朝上。 选出n个同学,每个同学猜一个长度为m的序列,当某一个同学猜的序列在硬币序列中出现时 阅读全文
posted @ 2019-11-03 16:43 birchtree 阅读(218) 评论(0) 推荐(0)
摘要:[BZOJ1009] [HNOI2008] GT考试(KMP+dp+矩阵快速幂) 题面 阿申准备报名参加GT考试,准考证号为N位数X1X2….Xn,他不希望准考证号上出现不吉利的数字。他的不吉利数学A1A2…Am有M位,不出现是指X1X2…Xn中没有恰好一段等于A1A2…Am. A1和X1可以为0 阅读全文
posted @ 2019-10-30 21:46 birchtree 阅读(125) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-10-30 21:17 birchtree 阅读(15) 评论(2) 推荐(0)
摘要:[51nod 1295]Xor key(可持久化trie) 题面 给出一个长度为n的正整数数组A,再给出Q个查询,每个查询包括3个数,L, R, X (L include define maxb 31 define maxn 200000 define maxs 6400000 using name 阅读全文
posted @ 2019-10-05 14:36 birchtree 阅读(196) 评论(0) 推荐(0)
摘要:题面 给定一个多边形,求对称轴数量。 分析 初看这似乎是一道计算几何的题目,但是如果暴力枚举对称轴,再去判断对称轴两边的边和角是否相等,时间复杂度为$O(n^2)$,显然会TLE 问题转换 顺时针转一圈,将角和边的值连在一起就得到了一个环 假如有一个边长为1的三角形,则它的角和边序列应该是:$ 1, 阅读全文
posted @ 2018-10-27 15:45 birchtree 阅读(294) 评论(0) 推荐(0)