- 博客(14)
- 收藏
- 关注
原创 【POJ3263】【前缀和】【差分】Tallest
差分裸题.引用一下lyd大佬的话一个简单而高效的做法是,建立一个数组D,对于每对A,B,令D[A+1]减去1,D[B]加上1.其含义是:“身高减少1”的影响从A+1开始,持续到B-1到B结束。最后,C就等于D的前缀和。传送门biu~#include<cstdio>#include<algorithm>#include&am
2018-09-25 20:47:51 285
原创 【POJ2299】【树状数组】求逆序对
马德POJ不让用 bits/stdc++.h 导致五次编译错误 题目传送门biu~#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define N 500005#define ll long longint a[N],b[N],tot;ll c...
2018-09-16 23:45:58 201
原创 【vijos1448】【树状数组】校门外的树
传送门biu~ 对于某一区间[L,R]来说,所有线段中左端点小于R的线段数的是[1,R]的答案,在这部分答案中,右端点在L左侧的应该舍去,所以我们可以维护两个树状数组,一个存左端点出现次数,一个存右端点出现次数。#include<cstdio>using namespace std;int n,m,a[50001],b[50001],k,l,r;inline int ask...
2018-09-16 11:45:06 519
原创 【洛谷P3811】【模板】乘法逆元
乘法逆元是oi赛场上特别重要的一个*&amp;amp;…%¥知识,求解逆元的方法我会的只有三种: 1:扩展欧几里得定理 2:费马小定理(a,p互质时求解a^p-2) 3:线性递推(下面的就是线性递推代码) 我太菜了就不证了QAQ#include&amp;lt;cstdio&amp;gt;using namespace std;int inv[3000001],n,p;int main(){ sc...
2018-09-15 22:06:15 211
原创 【洛谷P3807】【模板】Lucas定理
传送门biu~#include&lt;cstdio&gt;using namespace std;int n,m,p,jc[100005],njc[100005];inline int C(int x,int y){ if(x&lt;p&amp;&amp;y&lt;p)return jc[y]*njc[x]*njc[y-x]; else return C(x%p,y%p)...
2018-09-15 20:58:36 228
原创 【洛谷P3383】【模板】线性素数筛
传送门biu~ 其实这并不是真正严格的线性筛,而是叫埃氏筛,复杂度约为O(nloglogn)(出自lyd的《算法竞赛进阶指南》),接近线性O(n)。 在考场上一般使用埃氏筛就可以辣!#include&lt;bits/stdc++.h&gt;using namespace std;bool b[10000005];int n,m,x;int main(){ b[1]=1; ...
2018-09-15 20:44:56 240
原创 【洛谷P3367】【模板】并查集
传送门biu~#include<cstdio>using namespace std;int n,f[10001],m;inline int get(int x){ if(x==f[x])return x; return f[x]=get(f[x]);}int main(){ scanf("%d%d",&n,&m); for...
2018-09-15 20:34:51 250
原创 【LOJ6277】【分块】数列分块入门1
传送门biu~#include&amp;lt;bits/stdc++.h&amp;gt;using namespace std;int n,t,bl[50005],a[50005],lz[230];inline void add(int l,int r,int c){ int r1=min(bl[l]*t,r); for(int i=l;i&amp;lt;=r1;i++)a[i]+=c; ...
2018-09-15 17:14:39 150
原创 【Ural1028】【LOJ10114】【树状数组】数星星stars
传送门biu~#include&amp;lt;cstdio&amp;gt;using namespace std;int a[32002],n,b[32002];inline int ask(int x){ int re=0; for(;x;x-=x&amp;amp;-x)re+=a[x]; return re;}inline void add(int x,int y){ f...
2018-09-15 16:46:56 545
原创 【POJ1195】【LOJ133】【模板】【树状数组】二维树状数组1
传送门biu~#include&amp;lt;cstdio&amp;gt;using namespace std;#define ll long longll a[1&amp;lt;&amp;lt;12+1][1&amp;lt;&amp;lt;12+1];int n,m;inline void add(int x,int y,int k){ for(int i=x;i&amp
2018-09-15 16:20:02 306
原创 【LOJ10117】【CQOI2006】【树状数组】简单题
#include&amp;amp;amp;amp;lt;cstdio&amp;amp;amp;amp;gt;using namespace std;int a[100001],n,m;inline void add(int x,int y){ for(;x&amp;amp;amp;amp;lt;=n;x+=x&amp;amp;amp;amp;amp;-x)a[x]+=y; return ;}inline int ask
2018-09-15 15:29:46 235
原创 【洛谷P3368】【模板】【树状数组】树状数组2
#include&lt;cstdio&gt;using namespace std;int n,m,f[500005],a[500005];inline void add(int x,int y){ for(;x&lt;=n;x+=x&amp;-x)f[x]+=y; return ;}inline int ask(int x){ int re=0; for...
2018-09-15 15:09:49 251
原创 【洛谷P3374】【模板】【树状数组】树状数组1
#include&lt;cstdio&gt;using namespace std;int n,m,f[500005];inline void add(int x,int y){ for(;x&lt;=n;x+=x&amp;-x)f[x]+=y; return ;}inline int ask(int x){ int re=0; for(;x;x-=x&a...
2018-09-15 15:08:15 233
原创 【洛谷P1471】【分块】方差
#include&amp;amp;amp;amp;amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;amp;amp;amp;amp;gt;using namespace std;#define db double#define N 100005int n,m,bl[N],t;db a[N],sum1[330],sum2[330],lz[330];inline void add(int l,int r,db x){ int r
2018-09-14 12:52:23 245
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人