ACM模板
dyy7777777
此人很菜,什么都不会写
展开
-
【模板】卢卡斯定理
功能 : 求C(n,m)%p的值 模板: #include <bits/stdc++.h> using namespace std; #define ll long long ll Ext_gcd(ll a,ll b,ll &x,ll &y) { if(b==0){x=1,y=0;return a;} ll ret=Ext_gcd(b,a%b,y,x); y-=a/b*x; return ret; } ll Inv(ll a,ll m) { ll d,x,y,t=m;原创 2021-03-05 22:04:06 · 121 阅读 · 0 评论 -
【模板】树链剖分
简介: 将一棵树划分成若干条链,用数据结构去维护每条链,复杂度为O(logN)。 功能: 1.将树从x到y结点最短路径上所有节点的值都加上z 2.求树从x到y结点最短路径上所有节点的值之和 3.将以x为根节点的子树内所有节点值都加上z 4.求以x为根节点的子树内所有节点值之和 模板: P3384 【模板】轻重链剖分 #include<bits/stdc++.h> #include<vector> using namespace std; #define ll long long #d原创 2021-03-05 19:28:59 · 123 阅读 · 0 评论 -
【模板】树状数组
树状数组0.lowbit1.单点修改+单点/区间查询2.区间修改+单点查询3.区间修改+区间查询4.求逆序对求区间最值二维树状数组 0.lowbit int lowbit(int x){ return x&(-x); } 1.单点修改+单点/区间查询 #define maxn 500500 ll a[maxn];//原数组 ll c[maxn];//树状数组 void updata(int i,int v){ while(i<=n){ c[i]+=v; i+=lowbit(i);原创 2021-01-17 15:37:34 · 191 阅读 · 0 评论