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与中南的故事, ...
随机推荐
- JDK1.8中ArrayList的实现原理及源码分析
一.概述 ArrayList是Java开发中使用比较频繁的一个类,通过对源码的解读,可以了解ArrayList的内部结构以及实现方法,清楚它的优缺点,以便我们在编程时灵活运用. 二.源码分析 2.1 ...
- 用 Flask 来写个轻博客 (36) — 使用 Flask-RESTful 来构建 RESTful API 之五
目录 目录 前文列表 PUT 请求 DELETE 请求 测试 对一条已经存在的 posts 记录进行 update 操作 删除一条记录 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 ...
- nginx配置相关问题
1. nginx配置ssl相关问题 1.1 报错nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in ...
- 解决“/bin/bash^M: bad interpreter: No such file or directory”
在执行shell脚本时提示这样的错误主要是由于shell脚本文件是dos格式,即每一行结尾以\r\n来标识,而unix格式的文件行尾则以\n来标识. 查看脚本文件是dos格式还是unix格式的几种办 ...
- Html5 学习笔记 【PC固定布局】 实战6 咨询页面
最终效果: Html页面代码: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta char ...
- ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
https://blog.csdn.net/ztf312/article/details/50708302 报错原因: Numpy对逻辑表达式判别不清楚,它可以返回False如果等号两边两个式子是数值 ...
- Java程序的设计环境配置
一.下载主要的开发工具 JDK的下载 www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Ecli ...
- 关于array_merge()的注意
array_merge() 函数把两个或多个数组合并为一个数组. 1 如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的). 2 如果数组是数字索引的,则键名会以连续方式重新索引. 2 ...
- cdh5.7 做完HA后hive 查询出现异常: expected: hdfs://nameservice
异常信息如下: select * from b_pt_pr_customer_address_info limit 19; FAILED: SemanticException Unable to de ...
- C++继承中的构造和析构
1,构造:对象在创建的后所要做的一系列初始化的工作: 析构:对象在摧毁之前所要做的一系列清理工作: 2,思考: 1,子类中如何初始化父类成员? 1,对于继承而言,子类可以获得父类的代码,可以获得父类中 ...