知识总结
romiqi_new
这个作者很懒,什么都没留下…
展开
-
[NOIP专题总结]基础算法
一.快速运算 快速幂:二进制位拆分的思想 const ll mod=1000000007; ll ksm(ll a,ll b){ ll ans=1; for(;b;b>>=1){ if(b&1) ans=ans*a%mod; a=a*a%mod; } return原创 2018-11-05 14:00:00 · 504 阅读 · 0 评论 -
SAM总结(持续更新到放假)(好吧我已经放假了)
一.LCS(1e6) 最基础的SAM题,建第一个串的SAM,然后把第二个串放在上面跑的时候如果跑不动就回到root,不然就走下去。 Code: #include<bits/stdc++.h> const int N=2000005; typedef long long ll; using namespace std; char s[N],t[N]; int n,len=0,ans=0;...原创 2018-12-22 16:17:50 · 211 阅读 · 0 评论 -
整体二分专题
何谓整体二分? 一般的二分只适用于单个询问的,如果有很多个询问,就变成了n2n^2n2或更高 但整体二分则可以迅速处理多个询问的问题 首先需要离线,读入所有询问 然后我们二分答案,这时候我们将询问分成两个部分,如果l==r就直接更新答案,否则考虑分治,询问的答案在左边的丢到左边,答案在右边的则丢到右边,然后两边分别处理 整体二分的时间复杂度则为O((n+q)lognlogop)O((n+q) lo...原创 2019-01-13 17:27:02 · 454 阅读 · 2 评论