笔记
文章平均质量分 92
Mongo_w
本人很菜
新个人主页https://training.517coding.com/%E7%94%A8%E6%88%B7:Laijunxu
我的luogu:https://www.luogu.com.cn/user/78127
展开
-
SAM 笔记
后缀自动机 SAM\text{SAM}SAM .仅为学习笔记,思路会跟博客 后缀自动机(SAM)学习笔记 - zjp_shadow - 博客园 比较类似 .定义 endpos(t)endpos(t)endpos(t) 为子串 ttt 在 sss 中出现过的所有结束位置的并 .阅读下文时建议将 状态 看成是 endposendposendpos 的一个集合 .有时也会用 parent树\text{parent树}parent树 来代替 后缀树\text{后缀树}后缀树 .Lemma对于两个子串原创 2022-01-22 14:37:53 · 220 阅读 · 0 评论 -
计数好帮手 生成函数
计数好帮手 生成函数OGF记数列 {ai}\{a_i\}{ai} 的生成函数为 ∑k=0∞akxk\sum\limits_{k=0}^{\infty} a_kx^kk=0∑∞akxk .常用的生成函数有11−x=1+x+x2+…=∑k=0∞xk\frac{1}{1-x}=1+x+x^2+\ldots =\sum\limits_{k=0}^{\infty}x_k1−x1=1+x+x2+…=k=0∑∞xk .11−xn=1+xn+x2n+…=∑k=0∞xkn\frac{1}{1-x^n}原创 2021-11-26 21:29:09 · 291 阅读 · 0 评论 -
21.8.28 dp
AB√O(n2)O(n^2)O(n2).C√O(n2)O(n^2)O(n2).D√O(nlogn)O(n\log n)O(nlogn).E√O(n2)O(n^2)O(n2).F√O(nlogn)O(n\log n)O(nlogn).G√O(n2)O(n^2)O(n2).H√O(n3k)O(n^3k)O(n3k).I√O(n)O(n)O(n).J√O(n)O(n)O(n).KL...原创 2021-08-28 14:40:56 · 180 阅读 · 0 评论 -
快速傅里叶变换
这里有一个问题:我们有两个多项式,分别计作Ai(x),Bj(x)A_{i}(x),B_{j}(x)Ai(x),Bj(x),这里的下标表示对应多项式最高阶数,如Ai(x)A_{i}(x)Ai(x)的最高阶数为iii即:Ai(x)=a0+a1x1+a2x2+……+aixiA_{i}(x)=a_{0}+a_{1}x^{1}+a_{2}x^{2}+……+a_{i}x^{i}Ai(x)=a0+a1x1+a2x2+……+aixiBj(x)=b0+b1x1+b2x2+……+bjxjB_{j}(x)原创 2021-01-13 18:00:42 · 270 阅读 · 0 评论 -
四边形不等式证明
看网上四边形不等式的证明真的是一言难尽你家不等式的证明难道是直接蹦出来的吗过于气愤,于是写了这篇博客前置芝士:四边形不等式的定义:对于定义域为III的二元函数w(i,j)w(i,j)w(i,j),若满足∀a<b<c<d∈I,w(a,c)+w(b,d)≤w(a,d)+w(b,c)\forall a<b<c<d\in I,w(a,c)+w(b,d)\leq w(a,d)+w(b,c)∀a<b<c<d∈I,w(a,c)+w(b,d)≤w(a,d)+原创 2021-01-02 21:50:03 · 409 阅读 · 0 评论 -
2020.10.18
noip模拟赛题解报告由于为内部赛+版权题,所以不贴题面了T1 【XR-4】歌唱比赛按位处理字符串,如果Z前面有X或者Y则无解(手动模拟一下即可)code:#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int N = 1000010;char s[N];char a[N] , b[N];int n , x;int main(){ sca原创 2020-10-19 15:03:22 · 156 阅读 · 0 评论 -
分块九题
爆肝一天,终于写完了分块入门由于后半部分参考了dalao的博客,于是码风较前边有点区别第一题区间修改单点查询讲真这题可以用CDQ分治写,而且通俗易懂,但这篇讲的是分块,所以我们只是贴一下代码:CDQ分治版:#include<iostream>#include<cstdio>using namespace std;typedef long long ll;const int N = 1000010;struct nod{ ll x , y; i原创 2020-09-17 22:04:07 · 229 阅读 · 0 评论 -
平面最近点对
主要介绍分治做法我们按照分治标准“分割-处理-上传”三步来做首先将所有点按x值排序,分治函数solve(l , r)返回下标属于区间[l , r]的所有点的内部最近点对显然当l == r 时不合法,因此我们上传一个+∞假设对于solve(l , r)已经递归处理完了solve(l , mid) 和 solve(mid + 1 , r) (mid = (l + r) >> 1),那接下来就要处理下面这种情况对于点对(A , B),A在[l , mid],且B在[mid + 1 , r]原创 2020-09-08 09:59:45 · 243 阅读 · 0 评论 -
矩阵快速幂的模板
本博客仅提供代码,原理自行百度一.#include<iostream>#include<cstdio>#include<cstring>using namespace std;typedef long long ll;const int N = 110 , mod = 1e9 + 7;struct Matrix{ ll c[N][N];} res , A;ll n , k;Matrix X(Matrix a , Matrix b){ Mat原创 2020-09-06 11:44:00 · 92 阅读 · 0 评论 -
离散化+各种神奇科技
主要讲讲我这个蒟蒻的离散化做法(只讲大数据化小数据)首先拷贝一份数据进r数组接着对r数组排序,手动去重塞进num数组里边用的时候二分就好了code:/*给定一个长度为n的序列和m个询问xm,对于每个询问xi输出xi在序列内的排名(如果xi没有出现过则输出-1)*/#include<iostream>#include<cstdio>#include<algorithm>using namespace std;const int N = 100010原创 2020-08-29 08:46:27 · 199 阅读 · 0 评论 -
换根dp中的容斥
主要是在写换根dp时写得脑阔疼一.求树上一个点到其他节点的最大距离转换一下就等价于求以哪一个节点为根时,这棵树的所有节点深度之和最大首先以节点1为根跑一遍dfs1,目的是更新f[N]数组,N为总节点数其中f[x]表示以1为根时,节点x的子树的所有节点深度之和设dp[x]为以x为根的树的所有节点深度之和由于我们一开始是以1为根,那显然dp[1] = f[1]我们进行第二遍dfs2,目的是更新dp数组假设当前节点为x,且dp[x]已经处理完了对于x的一个孩子v,经过推导有:dp[v] =原创 2020-08-26 11:42:41 · 134 阅读 · 0 评论 -
这,就是并查集
前言:“十年苦琢白玉璧 一朝竞放紫兰花”有的东西只要你肯用心学,总能学的很好。我觉得上面这句话很适合我,毕竟就是凭着这不怕苦的精神,我才从一个连路径压缩都打不对的并查集小白成长成了普通并查集OIER(毕竟我也不是大佬 )并查集是什么?并查集是一种用某个代表来代表整个集合,进而再进行对集合的操作的数据结构比如我们用3来代表{1,2,3,4,5}这个集合,我们就表示成:p[1]=3 p[...原创 2019-12-30 16:19:16 · 142 阅读 · 0 评论 -
哈希学习笔记
先上一道例题:原创 2019-12-26 19:52:17 · 103 阅读 · 0 评论 -
前缀和与差分学习笔记
前言:本来在刷 AC Saber里边的区间合并,结果就见到了422.校门口外的树(题目链接在下边)这道题说来也巧,这道题之前我是拿暴力枚举的,结果发现一些很神奇的东西(其实就是瞎想 )为了方便读者,我把题目贴过来:题目:某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0...原创 2019-11-30 16:40:08 · 198 阅读 · 2 评论 -
单调栈学习笔记
单调栈的定义:设st为一个单调栈,那么st里的每一个元素都满足优先序大的较小(或较大)用c++语言写成就是:stack<int> st;/*此处进栈操作*/int a=st.top(),b;st.pop();b=st.top();满足:a<b模板题:Acwing 830.单调栈代码:#include<iostream>#include&l...原创 2019-11-29 19:54:55 · 110 阅读 · 0 评论