文章分类 - 线段树&树状数组
摘要:#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXN 1005int N,c[MAXN][MAXN];inline int lowbit(int x){ return x&(-x);}void update(int x,int y,int delta){ while(x&...
阅读全文
摘要:#include <stdio.h>#include <string.h>typedef long long LL;#define MAXN 5005int n,a[MAXN],c[MAXN];inline int lowbit(int x){ return x&(-x);}void update(int x,int delta){ while(x<=n) {...
阅读全文
摘要:题意转为统计(x,y)的右上方的点数有多少,和Stars差不多,不过注意重合的区间离散化X,2724K,1079MS#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;#define MAXN 100010struct PNode{ int x,y; int i...
阅读全文
摘要:#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;#define MAXN 1010#define MAXK 500010struct HNode{ int x,y;}highway[MAXK];inline bool mycmp(const HNode &a...
阅读全文
摘要:树状数组 7420K 500MS#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;typedef long long LL;#define MAXN 500010int n,ihash[MAXN],c[MAXN];struct SNode{ int val,i...
阅读全文
摘要:普通数组 312MS#include <stdio.h>#include <string.h>#define MAXN 100010int n,section[MAXN];int main(){ int i,j,k; while(scanf("%d",&n),n) { memset(section,0,sizeof(section)); for(k=0;k<n...
阅读全文
摘要:#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;#define MAXN 32005int n,c[MAXN],num[MAXN],inx[MAXN],sorted[MAXN],xhash[MAXN];inline int lowbit(int x){ re...
阅读全文
摘要:375MS 30512K#include <stdio.h>#include <algorithm>using namespace std;typedef long long LL;#define MAXN 100005#define MAXLOG 20int sorted[MAXN],seq[MAXLOG][MAXN],toleft[MAXLOG][MAXN];LL to...
阅读全文
摘要:http://acm.tju.edu.cn/toj/showp2722.html 同样的题目#include <stdio.h>#include <algorithm>using namespace std;#define MAXN 100005#define MAXLOG 20int sorted[MAXN],seq[MAXLOG][MAXN],toleft[MAXLOG...
阅读全文
摘要:#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXN 100000*3struct STNode{ int l,r,cover,kink; //记住cover为完全覆盖};STNode node[MAXN];void build(int a,int b,int idx){ nod...
阅读全文
摘要:线段树 46MS#include <stdio.h>#define MAXN 50005int number[MAXN];struct STNode{ int l,r,num;};STNode node[MAXN*3];void build(int a,int b,int idx){ node[idx].l=a; node[idx].r=b; if(a==b) { node[idx]....
阅读全文
摘要:#include <stdio.h>#define MAXSIZE 200001int stu[MAXSIZE];struct seg_tree{ int l,r,max;};seg_tree tree[MAXSIZE*3];inline int Max(int a,int b){ return a>b?a:b;}void build(int a,int b,int idx){ ...
阅读全文
摘要:认真+小心#include <stdio.h>#define MAXSUB 1000*3#define MAXMAIN 100*3#define INF -1.1inline double Max(double a,double b){ return a>b?a:b;}struct SubNode{ int l,r; double maxv;};class SubTree{pub...
阅读全文
浙公网安备 33010602011771号