CSP2019赛前小复习:
虽然觉得复习也没有什么用,还不吃好睡好,保持好心情。
SA:
坑就那几个。
\(s[0]=s[n+1]=-1\).
和\(rank\)交换的\(tp\)数组的\(tp[n+1]=0\)。
一般加上这两个多测也没有问题。
题:https://www.luogu.org/problem/P5576
https://www.luogu.org/record/26886770
数据有锅调了我好久,艹。
无非是启发式合并,不难,就是有点长。
SAM:
没写改儿子看了半天……
写完之后注意要写个递归验一验。但是似乎改儿子没写验不出来?
题:https://www.luogu.org/problem/P4022
https://www.luogu.org/record/26899209
广义SAM+单调队列
AC自动机:
注意\(fail[1]=0\),然后走到0时要回1,除非用另一种写法。
然后就是fail和含义,和一定要传fail。
题:
https://www.luogu.org/problem/P2603
https://www.luogu.org/record/26940875
因为几何太差WA了二十发。
考虑那四种操作也就是这两个图形相似。
也就是相邻边的夹角和边的长度的比值相同。
边的长度比值好搞,直接用平方比约一约就好了。
角的话考虑用叉积比点积,就是\(tan β\)。
但是注意角度可以负过来,即整个图形时针方向相反。
所以叉积比点积比值全部相反,也视作相同,所以正着反着做两遍。
然后当叉积为0时,会算重一遍。
搞完后再离散一下,跑个ac自动机,沿fail链传一下。
manacher:
日常手推,然后写错了……
题:
https://www.luogu.org/problem/P4287
https://www.luogu.org/record/26962019
考虑manacher新添加一个回文串是判断它的半部分是不是回文就好了。
也可以用回文树多记个标记表示跳fail最接近一半的回文后缀的位置,不断更新这个东西就好了。
exkmp:
每次写再看看之前的代码都会发现完全不一样。
题:
https://ac.nowcoder.com/acm/contest/1099/C
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=41755315
把串反过来,自我匹配后统计一下就好了。
回文树:
题:
https://www.luogu.org/problem/P1659
https://www.luogu.org/record/27080559
这题用manacher做应该更简单的,实在是没有题写了。
CSP2019赛前小复习:的更多相关文章
- 2016年11月24日--面向对象、C#小复习
面对对象就是:把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象.对同类对象抽象出其共性,形成类.类中的大多数数据,只能用本类的方法进行处理.类通过一个简单的外部接口与外界发生关系,对象 ...
- noip级别模板小复习
不是很noip的知识点就不写了. dij什么的太easy就不写了. 缩点 注意\(Tarjan\)在缩边双和求强联通分量时候的区别. 一个要判断是否在栈内一个不要. 最后\(topsort\)来\(d ...
- C 小复习
C语言 signed 与 unsigned: C语言中,当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型 signed ; unsigned ; cout << a ...
- js 小复习2
1.数组 findIndex() indexOf() // findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引.否则返回-1. function isBigEnough(ele ...
- js 小复习1
1.数组 增删改查 , , , , ]; // arr.push(18); // 添加数组后面 更改长度 // arr.unshift(12); // 添加数组前面 // arr.pop(); // ...
- CSP-S 赛前模板复习
快读模板 这个连算法都算不上... inline int read() { int x=0,f=1; char ch=getchar(); while(ch<'0' || ch>'9') ...
- es6简单小复习
Ecmascript 6 ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了. Ecmascript 是 JavaScript 语言的 ...
- 终极蛇皮上帝视角之铁头娃之鲁迅之暑假闲的慌之bilibili看尚学堂网课的非洲酋长java小复习
转自https://www.sxt.cn/Java_jQuery_in_action/eight-cache-problem.html 第一个点 自动装箱与拆箱的功能是所谓的"编译器蜜糖(C ...
- 关于ACM,关于CSU
原文地址:http://tieba.baidu.com/p/2432943599 前言: 即将进入研二,ACM的事情也渐渐远去,记忆终将模糊,但那段奋斗永远让人热血沸腾.开个贴讲讲ACM与中南的故事, ...
随机推荐
- JS中常见的几种报错类型
1.SyntaxError(语法错误) 解析代码时发生的语法错误 var 1a; //Uncaught SyntaxError: Invalid or unexpected token 变量名错误 c ...
- myeclipse svn重新定位 本地文件 svn 重新定位
我们在用工具myeclipse开发项目时,当资源库存储空间不够时,我们就需要添加资源库,涉及到我们切换项目资源库,下面就介绍一下svn资源库重新定位步骤 1,window到show view到othe ...
- delphi 加入超链接
delphi 加入超链接//在uses中加入ShellAPI//通过该lpFile参数可以实现链接到主页或ftp站点 ShellExecute(handle,nil,pchar('http://www ...
- 创建Spring Boot 工程
先在eclipse中安装spring -tool -suite插件,然后根据以下步骤可以创建 1.新建Spring Starter Project 2.Packaging 选择 jar 3.勾选W ...
- LR之分析
1.Errors(错误统计) 每秒错误数:数值越小越好,通过这个图可以知道,当负载增加的时候,定位何时系统在负载下开始不稳定甚至出错. 2.Transaction(事务) average transa ...
- Jenkins执行脚本文件
Jenkins执行脚本文件如下(startup.sh): #!/bin/bash #这里可替换为你自己的执行程序,其他代码无需更改 export JAVA_HOME=/usr/src/java/jdk ...
- JAVA中STL使用
Vector:和c++的vector使用方法类似. Vector<Integer> vec=new Vector<> (); ArrayList:Java.util.Array ...
- Php安装时出现的问题处理
问题从这里开始,我们一步一步说明: cd /usr/local/src/ tar zxvf php-5.5.6.tar.gz cd php-5.5.6 ./configure \ //执行当前目录下软 ...
- spring boot 尚桂谷学习笔记10 数据访问02 mybatis
数据访问 mybatis 创建一个 springboot 工程,模块选择 sql 中 mysql(数据驱动), jdbc(自动配置数据源), mybatis Web模块中选择 web pom 引入: ...
- Python 与 C 对比
到目前为止,我接触最多两种语言应该就是python 和 C 语言了. 个人理解 1. 执行速度不同, python为解释性语言,C是编译型语言(需要编译器) 2. python 是基于C的实现,C中很 ...