摘要: 极好的blog https://www.cnblogs.com/WAMonster/p/10118934.html ###概要 概述一下,就是区间上的双指针+分块+排序优化的优美暴力 一般情况下块长取n 复杂度O(nn) ###块长选取 我们令数列长度为n, 阅读全文
posted @ 2023-02-22 19:23 Diamondan 阅读(11) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2023-02-18 15:08 Diamondan 阅读(0) 评论(0) 推荐(0) 编辑
摘要: ##前置知识 ###点积 x1x2+y1y2 点积应用: 1.判断A和B的夹角是钝角还是锐角 2.求向量A的长度 3.求向量A与B的夹角大小 ###叉积 x1y2y1x2 叉积应用: 1.判断A与B的方向关系。 若 A×B>0,BA 的逆时针方向 若 阅读全文
posted @ 2023-02-09 19:13 Diamondan 阅读(10) 评论(0) 推荐(0) 编辑
摘要: ###Before 2SAT 一般形式为 k,简称 kSAT k>2NP完全,暂不考虑,现考虑2SAT ###模型 有若干个包含2个元素的集合,只能选择每个集合中的一个元素,并给出一些条件(例:选a后不能选b),要求求出满足这些条件的选择,这个解也称为$2 阅读全文
posted @ 2023-01-30 09:34 Diamondan 阅读(23) 评论(0) 推荐(0) 编辑
摘要: struct state { int len,link; int nxt[31]; }; char s[N]; int n,ans,t[N],a[N],b[N],O; struct SAM { state st[N*2]; int siz,last; void init() { for(int i= 阅读全文
posted @ 2023-01-29 11:20 Diamondan 阅读(39) 评论(0) 推荐(0) 编辑
摘要: Step1 在每一个循环过程中,先寻找到主元,并将主元通过行变换(无需列变换)移动到矩阵的主对角线上, 然后将主元所在的行内的所有元素除以主元,使得主元化为1 然后观察主元所在的列上的其他元素,将它们所在的行减去主元所在的行乘以一定的倍数, 使得主元所在的列内、 除主元外的其他元素化为0 阅读全文
posted @ 2023-01-28 13:54 Diamondan 阅读(59) 评论(0) 推荐(0) 编辑
摘要: Link: https://codeforces.com/problemset/problem/1473/E CF1473E 分层图最短路 分层图就是说,如果在一个带权图上,我们对于每条路径都可以将其中k条边做一些改变,比如不计算其权值, 那么我们就先建k+1层完全相同的初始图(权值为原值),然后层 阅读全文
posted @ 2023-01-28 10:50 Diamondan 阅读(8) 评论(0) 推荐(0) 编辑
摘要: SA后缀数组 sa数组:sa[i]=x表示对于所有的后缀进行排序(字典序)后,得到排名为i的以第x个字符开头的后缀 rk数组:rk[x]=i,是对于所有的后缀进行排序(字典序)后,得到以第x个字符开头的排名为i的后缀 sa[rk[x]]=rk[sa[x]]=x 常用算法:nlogn的倍增算法 对于每 阅读全文
posted @ 2023-01-14 17:47 Diamondan 阅读(36) 评论(0) 推荐(0) 编辑
摘要: ###哈哈哈希 ```cpp //一种好写且卡不掉的树哈希 //https://peehs-moorhsum.blog.uoj.ac/blog/7891 int hs(int x) { return x*x*x*1237123+19260817; } int h(int x) { int cur=h 阅读全文
posted @ 2022-11-25 14:07 Diamondan 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 结构体封装的trie 之前TLE了很多次 原因是因为cnt用完没清空... #include <bits/stdc++.h> #define il inline #define re register using namespace std; const int N=3e6+10; il int r 阅读全文
posted @ 2022-11-24 07:51 Diamondan 阅读(21) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示