习题归纳:KMP,ACAM的也许不是一句话题解
正题
CF1200E Compress Words
直接将所有串的后缀自动机建出来,要找i和i+1的后前缀公共部分时,就将i+1的所有前缀打标记,用i来倍增找标记,标记可能要dfs序来维护,所以是两个log,如果想寻求常数优化,可以试试树剖.
[USACO15FEB]Censoring S
做kmp,记录下每个位置匹配到T串的位置,用链表来维护断裂即可.
[POI2006]OKR-Periods of Words
求完所有的nex数组以后暴力找最小的border就行,记住找完之后要将最小border记下来,否则复杂度不对
[USACO15FEB]Censoring G
和S题差不多,在ACAM上记录位置就可以了,用链表来维护断裂.
[TJOI2013]单词
把S和T一起建ACAM,然后给S串对应的链+1,统计子树和即可.
[USACO12JAN]Video Game G
将ACAM建出来后,在上面暴力Dp即可.
[SDOI2014] 数数
把ACAM建出来,然后就是一个三维Dp,第一维表示在那个点,第二维表示是否压着上界,第三维表示前缀是否全为0
CF163E e-Government
离线即可,每次询问相当于多个点到根之和,这个可以转化为子树加,单点求值,dfs序求出来差分一下树状数组就可以,删除相当于子树-1,添加相当于子树+1.
CF1207G Indie Album
先把所有串插入,用线段树合并来维护下标为i的出现了多少次,询问就是直接去对应点看看下标为i的权值就可以,时间复杂度一个log
当然如果你不想写线段树合并也可以,直接把询问排序然后树状数组来维护子树和就可以了.
[POI2000]病毒
把ACAM建出来之后,若一个点是病毒结尾,那么子树也是不合法的,将标记下传之后,从根dfs不经过病毒结尾找环即可.
CF1202E You Are Given Some Strings...
我们先考虑对于t的每个前缀,能使多少个串与其前缀的后缀匹配,这个把ACAM建出来之后让t上去跑,跑到一个位置,这个点到根的标记总和就是当前答案.如果我们知道对于每个后缀,能使多少个串与这个后缀的前缀匹配,那么就可以把他们拼起来了.这个问题显然可以把所有串都反过来,转化为第一行的同问题.
习题归纳:KMP,ACAM的也许不是一句话题解相关推荐
- 数据库SQL语句练习45道 习题归纳
建表语句: CREATE TABLE STUDENT (SNO VARCHAR(3) NOT NULL, SNAME VARCHAR(4) NOT NULL, SSEX VARCHAR(2) NOT ...
- 【模板】Trie KMP ACAM模板
Trie KMP ACAM模板 虽然实际情况这个都得改 Trie 01Trie也差不多. const int MAXN = 1e6 + 10, SIZE = 26; struct Trie{int c ...
- 后端学习关卡三习题归纳及问题解决1
1.根据运算符的功能,我们把运算符分成哪几类? 算数运算符(+加.-减.*乘./除.%取余) 赋值运算符(=赋值.+=加后赋值.-=减后赋值.*=乘后赋值./除后赋值.%取余后赋值) 自增自减运算符( ...
- 这也许是Android一句话权限适配的更优解决方案
SoulPermission Android一行代码权限的更优解决方案: 解耦Activity和Fragment.不再需要Context.不再需要onPermissionResult 内部涵盖版本判断 ...
- ACM入门之【KMP】
KMP可以O(n)的时间查找出一个字符串在另一个字符串出现的次数和位置. KMP 的精髓在于,对于每次失配之后,我都不会从头重新开始枚举,而是根据我已经得知的数据,从某个特定的位置开始匹配:而对于模式 ...
- 图论复习(各类习题)
可以结合这篇博客进行复习:http://www.cnblogs.com/z360/p/7363034.html 一.强连通分量.缩点 习题: 洛谷--P2746 [USACO5.3]校园网Networ ...
- 机器学习加深了“知识”和“理解”之间的鸿沟
https://www.toutiao.com/a6688113817760563726/ 无法理解人工智能"黑箱",人工智能就能帮我们理解世界吗? 编者按:机器学习和互联网意味着 ...
- 导数与微分的知识点思维导图_高中生物思维导图知识点总结
今天小编给大家整理一份高中生物思维导图知识点总结 ,打印出来给孩子学习吧,需要的请点下面赞同,并评论:我要高中生物思维导图知识点总结, 点头像私信获取,希望给你的孩子有所帮助. 刚开始学生物的时候,第 ...
- 永不停息的红舞步一个电子工程师的心路历程(转载)
转载自新浪微博 传说中有一对美丽的红舞鞋,穿上它,你将舞出最美丽的舞步-- 正式从事电子硬件设计工作四年多了,回忆起接触电子的这几年,感触很多--虽然经历了很多酸甜苦辣,但也给我的生活增添了很多色彩- ...
最新文章
- Kafka 基本原理(8000 字小结)
- DotNetCore跨平台~EFCore数据上下文的创建方式
- Quartz.net持久化与集群部署开发详解
- VTK:可视化之PointSize
- 【图像处理】RGB Bayer Color分析
- 深入理解TCP实现|经典PDF分享
- 基于RAM的雷达线性调频信号产生
- 计算机上的策略禁止用户安装,Win7系统如何使用组策略禁止安装软件?
- Python 助你填写高考志愿
- 科研过程中Linux相关问题
- OpenLayers画点、画圆、画线方法
- C++实现Socket连接通信
- 计算机技能比赛范文,计算机基本技能大赛活动策划书范文
- umi中使用plugin-initial-state插件(initialState)
- sql基本的日期函数
- 英语知识点整理day14-谚语学习(F字母开头)
- 专车新规或下周发布,估计有大量司机流失
- 使用dfs求解修道士和野人问题
- UE4 获取主窗口HWND和调用WINAPI函数
- 中缀表达式/后缀表达式/前缀表达式
热门文章
- 小控件——简单的留言评论删除模块
- 优品股票通电脑客户端 v1.0官网最新版
- 自己做悬浮拖拽按钮依赖
- 华为手机哪一款手机是鸿蒙系统_这9款华为手机可升级为鸿蒙系统,有你的手机吗?...
- 小个子男的尴尬人生~
- 让计算机“唱歌”(1704)
- 7.25 6figting!
- Ubuntu - VGA 外接显示器调节分辨率1920x1080
- Autodesk云计算系列视频 --- 开篇介绍 Up to the cloud 直上云端
- 易中天经典语录:这年头不弱智怎么当领导