随笔分类 -  杂谈

摘要:珂朵莉树 珂朵莉树是暴力解决区间问题的一种优化方式,但本质上依旧是暴力,且在数据随机性很大的时候才会有较高的得分。 虽然珂朵莉树名字中有树,但其实只是区间的拆分合并,跟树没有关系。 比如一开始有区间$[1,25]\(,现在更改\)[5,17]\(,那就把\)[1,25]\(拆成\)[1,4],[5, 阅读全文
posted @ 2020-11-04 08:35 林生。 阅读(146) 评论(0) 推荐(0)
摘要:Priority_queue用法模板 一、无需重载运算符 小根堆 #include<bits/stdc++.h> using namespace std; priority_queue<int,vector<int>,greater<int> >q; int main() { for(int i=1 阅读全文
posted @ 2020-10-23 21:01 林生。 阅读(134) 评论(0) 推荐(0)
摘要:显著特征 按顺序填入$1$到$i$的数组$a$,给定一个对应顺序$s$,新的数组$b$满足$b[i]=a[s[i]]$。(然后将新的b数组当成a数组,进行下一次相同的操作) 实质为:给定一个数n,将n拆分为$n=x1+x2+x3+···xp$,求有关$lcm(x1,x2,x3,···,xp)$的问题 阅读全文
posted @ 2020-10-23 20:56 林生。 阅读(441) 评论(0) 推荐(0)
摘要:启发式合并 即:玄学合并 P3012 梦幻布丁 #include<bits/stdc++.h> using namespace std; const int N=1e5+5,M=1e6+5; int n,m,ans,a[N],st[M],f[M],pre[M],tail[M],siz[M]; voi 阅读全文
posted @ 2020-10-23 20:48 林生。 阅读(94) 评论(0) 推荐(0)
摘要:RMQ问题 单调队列 单调队列 #include<bits/stdc++.h> using namespace std; const int N=1e6+5; int n,m,a[N],q[N]; int main() { scanf("%d %d",&n,&m); for(int i=1;i<=n 阅读全文
posted @ 2020-10-23 20:39 林生。 阅读(120) 评论(0) 推荐(0)
摘要:一些小tip 快读 读入速度快于scanf,远快于cin。 模板。 ch=getchar()写在while的条件里时耗时会增加。 int read(){ int x=0,w=1; char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch= 阅读全文
posted @ 2020-10-23 20:34 林生。 阅读(76) 评论(0) 推荐(0)