随笔分类 - ACM-数据结构
摘要:用主席树可以在线做,树状数组只能离线。 先放个主席树的。 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<queue> 5 #include<set> 6 #include<string> 7 #inc
阅读全文
摘要:1 #include<bits/stdc++.h> 2 using namespace std; 3 #define pf printf 4 #define mem(a,b) memset(a,b,sizeof(a)) 5 #define scand(x) scanf("%llf",&x) 6 #d
阅读全文
摘要:毕生所学。 1 const int N = 2e5 + 10; 2 #define lson rt << 1 // == rt * 2 左儿子 3 #define rson rt << 1 | 1 // == rt * 2 + 1 右儿子 4 #define int_mid int mid = tr
阅读全文
摘要:入门级数据结构算法。复习一下,分别手写一个。 线段树版本(过了CF上的https://codeforces.com/contest/1291/problem/D): 1 #include<bits/stdc++.h> 2 #define f(i,a,b) for(int i=a;i<=b;i++)
阅读全文
摘要:原理很简单,利用差分知识做的,只能单点查询,在性能上优于线段树,但没有区间查询功能。 1 #include<bits/stdc++.h> 2 #define f(i,a,b) for(int i=a;i<=b;i++) 3 using namespace std; 4 5 const int N=5
阅读全文
摘要:树状数组真是一个神奇的东西,感觉和写线段树感觉有点像诶。 先来一个查询区间和的吧。 1 #define maxn 50005 2 int c[maxn], a[maxn]; 3 int n,t; 4 int Lowbit(int x) // 2^k 5 { 6 return x&(-x); 7 }
阅读全文
摘要:1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=1e5+10; 4 int a[maxn]; 5 int sum[maxn<<2],exc[maxn<<2]; 6 void maintain(int k) 7 { 8
阅读全文

浙公网安备 33010602011771号