[Strings]一些字符串题目
来源:互联网 发布:淘宝客服个人总结 编辑:程序博客网 时间:2024/05/22 13:54
Trie
BZOJ 3689 异或之
大意:
给定
解:
将加法换成异或就变成了一个用堆合并多个有序表的经典问题,对于加法我们按大小排序就能得到有序表,而由于这里是异或,我们需要高效地维护有序表,即对于一个数
我们将所有数按二进制建成
BZOJ 3439 Kpm的MC密码
大意:
给定
解:
反转建出字典树,相当于询问这个点的子树里结束结点编号的第
BZOJ 3217 ALOEXT
大意:
维护一个序列,支持以下操作:
解:
假如是询问整个序列,我们可以用字典树来做,由于每次询问区间不一样,我们用平衡树套字典树维护区间信息,这里用替罪羊来套字典树
AC 自动机/KMP
BZOJ 3670 NOI2014 动物园
大意:
给一个字符串
解:
类比
BZOJ 1355 Baltic2009 Radio Transmission
大意:
给一个循环产生的字符串,求最小循环节
解:
脑补一下可以发现答案就是
首先这一定是一个合法的解
其次一定不存在更小的循环节,否则
因此这就是最小循环节的长度
BZOJ 1009 HNOI2008 GT考试
大意:
给定长度为
解:
这种计数问题我们考虑
BZOJ 1100 POI2007 对称轴osi
大意:
给定一个多边形,求对称轴数量
解:
这里要用到一个神奇的想法。
对于一个多边形,我们先找到它的中心,然后我们就可以将这个多边形序列化,具体做法是这样:任选一个顶点
我们先顺时针得到一个序列并将将序列倍增。再逆时针扫得到另一个序列,逆时针序列在顺时针序列中的出现次数就是对称轴数量,这个问题我们可以用
BZOJ 3620 似乎在梦中见过的样子
大意:
给定一个字符串,求这个字符串有多少个子串满足这个子串可以拆分成
解:
这种前缀与后缀相同很容易使我们联想到
枚举一个子串的左端点,对于一个右端点,我们只需要判断它是否存在长度在
BZOJ 1212 HNOI2004 L语言
大意:
给定一个单词表和
解:
对每个字符串我们考虑
我们将所有单词建成
BZOJ 2434 NOI2011 阿狸的打字机
大意:
初始字串为空,首先给定一系列操作序列,有三种操作:
然后多次询问第
解:
首先我们将所有打印的字符串建
那么现在问题就变为,在
子树查询我们考虑
我们离线处理这个问题,并反过来这样想:我们在序列里将
这一过程我们可以
BZOJ 1030 JSOI2007 文本生成器
大意:
给定
解:
由于是至少一个,直接统计会面临去重的麻烦,因此我们运用补集转化思想,统计一个都不包含的数量。
记
BZOJ 3172 Tjoi2013 单词
大意:
给定一个
解:
将所有单词建成
BZOJ 2754 SCOI2012 喵星球上的点名
大意:
给定
解:
将所有串都扔进
BZOJ 2553 BeiJing2011 禁忌
大意:
给定
解:
首先建立AC自动机 令
如果要走到某个节点是危险节点或者
这时候直接用快速幂加速我们没法统计答案,因此我们开一个计数器,新增一个结点
BZOJ 3881 Coci2015 Divljak
大意:
给定两个字符串集合
解:
假如
这个问题有很多做法,一种做法是利用树链的并,我们跑到的所有结点直接将它到根的路径上的所有点++,对于很多这样的结点就有很多条路径,我们将这些路径求并(因为同一个串只计算一次)即可。
BZOJ 1444 JSOI2009 有趣的游戏
大意:
给定
解:
回文自动机/Manacher
BZOJ 3160 万径人踪灭
大意:
给定一个由
解:
利用补集转化思想,我们可以求出总回文子序列的个数,然后减掉连续的。
连续的可以用
BZOJ 2084 Poi2010
大意:
给定一个长度为
解:
定义
BZOJ 3676 Apio2014 回文串
大意:
定义一个回文串的出现值为出现次数*长度,求最大出现值
解:
总之这是一个回文自动机裸题
后缀自动机/后缀数组
SPOJ8222 NSUBSTR - Substrings
http://blog.csdn.net/hbhcy98/article/details/51055733
SPOJ1811 LCS - Longest Common Substring
http://blog.csdn.net/hbhcy98/article/details/51056010
SPOJ1812 LCS2 - Longest Common Substring II
http://blog.csdn.net/hbhcy98/article/details/51057065
SPOJ7258 SUBLEX - Lexicographical Substring Search
http://blog.csdn.net/hbhcy98/article/details/51058966
UOJ35 后缀排序
http://blog.csdn.net/hbhcy98/article/details/51088557
BZOJ1692 Usaco2007 Dec 队列变换
http://blog.csdn.net/hbhcy98/article/details/51089554
BZOJ3998 TJOI2015 弦论
http://blog.csdn.net/hbhcy98/article/details/51092868
BZOJ2946 Poi2000 公共串
http://blog.csdn.net/hbhcy98/article/details/51093117
BZOJ2882 工艺
http://blog.csdn.net/hbhcy98/article/details/51271987
BZOJ3238 Ahoi2013 差异
http://blog.csdn.net/hbhcy98/article/details/51273315
- [Strings]一些字符串题目
- 一些字符串题目
- 一些字符串查找题目
- 关于指针和字符串的一些题目
- strings(字符串)详解(一)
- C++ strings(字符串)详解
- strings(字符串)详解(一)
- strings(字符串)详解
- C++ strings(字符串)详解
- PHP 字符串 (Strings)
- 同构字符串 Isomorphic Strings
- Isomorphic Strings(同构字符串)
- C++ Strings(字符串)
- Periodic Strings 字符串匹配
- Add Strings:字符串相加
- Isomorphic Strings:同构字符串
- leetcode---multiply-strings---字符串
- 一些题目
- Watir-webdriver使用手册
- 图片加水印上传(PHP)
- busybox制作ramdisk动态库版本
- websocket链接
- ButterKnife--View注入框架
- [Strings]一些字符串题目
- 限制UITextView输入字数(兼容iOS7)
- nginx学习资源
- 判断用户登录出错信息
- 使用navicat premium连接oracle数据库的步骤
- linux autotools libtool 生成库版本号设置方法
- 关于http请求body
- 第十周项目四 类的继承教师兼干部类
- Android App开机自动启动