avatar
文章
464
标签
16
分类
76

Believe it

Believe it

cdq
发表于2019-08-05|ACM老Blog迁移stencildata_struct
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 转移自老blog cdq 三维偏序 #include<bits/stdc++.h> using namespace std; const int maxn= 2e5+5; struct node{int x,y,z,w,ct;}a[maxn],b[maxn]; int ans[maxn],BIT[maxn],B; bool cmp(node a,node b){ if(a.x!=b.x)return a.x<b.x; if(a.y!=b.y)return a.y<b.y; return a.z<b.z; } bool equal(node a,node b){ return a.x==b.x&&a.y==b.y&&a.z= ...
kd树
发表于2019-08-05|ACM老Blog迁移stencildata_struct
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 转移自老blog kdTree        kd树是平衡树的多维拓展,说白了就是多维平衡树,它 和普通的的区别就在于,它是按照深度决定以哪个维度 作为建树划分标准的。(优化算法另当别论)          算法在注释里面已经很清楚了。 #define pow2(x) ((x)*(x)) struct kd ...
lct
发表于2019-08-05|ACM老Blog迁移stencildata_struct
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 转移自老blog link cut tree link cut tree是什么         link cut tree是一种维护动态森林的数据结构,但我们常常用它来维护 一颗动态的树,维护这些动态树上路径的信息。         在本质上他属于一种树剖分,将树剖成链,但是由于树是动态的,所以无法使用轻重剖分 ,因为重儿子可能会变化为轻儿子,轻儿子也可能变成重儿子,这里采取虚实剖分,按照虚链实链剖成链。 树的虚实剖分  &n ...
map
发表于2019-08-05|ACM老Blog迁移stencildata_struct
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 转移自老blog map struct mymap { static const int N=(1<<22); int key[N], val[N]; int query(int x) { int i = x & (N - 1); while (key[i] != -1 && key[i] != x) i = (i + 1) & (N - 1); return val[i]; } void update(int x, int id) {// can't find then return -1 int i = x & (N - 1); while (key[i] != ...
rmq
发表于2019-08-05|ACM老Blog迁移stencildata_struct
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 转移自老blog rmq倍增 struct RMQ{ static const int maxn=1000,lgmaxn=12; static int lg[maxn]; int mx[maxn][lgmaxn]; RMQ(){//构造函数 if(lg[2]!=1){ for(int i=2;i<maxn;i++){ //因为lg(1)=0 lg[i]=(i&-i)==i?lg[i-1]+1:lg[i-1]; } } } void build(int n,int *a){ for(int i=0;i<=n;i++)mx[i][0] ...
splay
发表于2019-08-05|ACM老Blog迁移stencildata_struct
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 转移自老blog splay struct splay_tree{ static const int maxn=2e6+10; int ch[maxn][2],fa[maxn]; int miv[maxn],val[maxn],add[maxn],rev[maxn],siz[maxn]; int rub[maxn],rub_;//回收池 int rt,tot; //数据结束 void pushup(int h){//维持,回溯 int l=ch[h][0],r=ch[h][1]; miv[h]=va ...
主席树
发表于2019-08-05|ACM老Blog迁移stencildata_struct
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 转移自老blog 主席树 ------ 2019.4.30 什么是主席树         主席树是可持久化权值线段树,支持点修改,区间查询。 静态数组区间第k大         先来个题,给一个数组,多组询问,每次询问区间第k大(小), 为数组的每一个前缀建立一颗线段树         但是这样子,空间会爆炸,时间也一样爆炸,但是我们发现前缀 之间是有联系的,两个相邻的前缀之间只有 ...
划分树
发表于2019-08-05|ACM老Blog迁移stencildata_struct
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 转移自老blog 划分树 hahahahahaha
区间加+区间乘+区间求和的双标记线段树
发表于2019-08-05|ACM老Blog迁移stencildata_struct
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 转移自老blog 线段树 typedef long long ll; #define ls (rt<<1) #define rs (ls|1) #define ml ((l+r)>>1) #define mr (ml+1) const ll maxn=1e5+55; ll mod=123456789; ll mul[maxn<<2],add[maxn<<2],sum[maxn<<2],a[maxn]; void push_down(ll rt,ll l,ll r){ // if(l!=r) push_down(ls,l,ml),push_down(rs,mr,r); if(mul[rt]!=1){ mul[ls]=mul[ls]*mu ...
区间加+区间乘+区间赋值+区间p次方求和的三标记线段树
发表于2019-08-05|ACM老Blog迁移stencildata_struct
nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 转移自老blog 线段树 //hdu 4578 #define ls (rt<<1) #define rs (ls|1) #define ml ((l+r)>>1) #define mr (ml+1) const int maxn=1e5+55; int mod=10007; int mul[maxn<<2],add[maxn<<2],cov[maxn<<2],sum[3][maxn<<2],a[maxn]; inline int modmul(int a,int b){return a*b%mod;} inline int modmul(int a,int b,int c){return modmul(modmul(a,b), ...
1…404142…47
avatar
fightinggg
O ever youthful, O ever weeping
文章
464
标签
16
分类
76
Follow Me
公告
This is my Blog
最新文章
智慧的疆界:从图灵机到人工智能2023-05-17
Transformer2023-03-28
2023你好2023-02-06
VPN与代理那些事2022-07-24
CPU架构介绍2022-07-19
分类
  • ACM238
    • 刷题实战56
      • CodeForces7
      • bzoj4
      • hdu19
      • uoj1
      • 比赛15
      • 洛谷3
标签
AI AspectJ CPU docker 结构体中的引用 SpringFox使用 跟我一起写编译器 GPT linux指令 读书,HTTP 读书 flag Transformer Proxy VPN nginx
归档
  • 五月 20231
  • 三月 20231
  • 二月 20231
  • 七月 20223
  • 五月 20221
  • 三月 20221
  • 二月 20221
  • 一月 20221
网站资讯
文章数目 :
464
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2023 By fightinggg
框架 Hexo|主题 Butterfly