--------数据结构---------
文章平均质量分 80
Werky_blog
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
模板:并查集
思路:1.先让自己是自己的爸爸 2.下标从1开始,因为城市一般是从1,没有第0个城市。 3.为求统一,一律让大的是小的爸爸,记得swapconst int maxn=1005;int father[maxn],ans[1005];int find(int x){ //查找并认爸爸 if(x!=father[x]) father[x原创 2017-09-23 11:51:16 · 187 阅读 · 0 评论 -
模板:线段树
/*单点更新,区间求和*//*应用:1.建空树,可以查询比某值大的数之和,然后单点更新*/#define N 50050 int num[N]; struct Tree{ int l; int r; int sum; }tree[4*N]; void build(int t,int l,int r){ tree[t].l原创 2017-11-01 12:48:55 · 361 阅读 · 0 评论 -
模板:树状数组
int n,tree[MAXN]; int lowbit(int i){ return i&(-i); } int update(int i,int x){ while(i<=n){ tree[i]+=x; i+=lowbit(i); } } int query(int i){ int原创 2017-11-18 15:11:03 · 151 阅读 · 0 评论 -
模板:主席树
求区间不同数的个数:/*51 1 2 1 331 5 (3)2 4 (2)3 5 (3)*/#include<bits/stdc++.h>#define ll long long intusing namespace std;const int maxn=2e5+10;const int maxm=1e6+10;ll read(){ ll x=0,f=...原创 2018-04-30 19:15:03 · 159 阅读 · 0 评论
分享