博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
树状数组
阅读量:4153 次
发布时间:2019-05-25

本文共 1377 字,大约阅读时间需要 4 分钟。

poj2481,一直是超时。。。

#include
#include
#include
using namespace std;const int N = 100001;class term{public: term(int s,int e,int id):s(s),e(e),id(id){} int s; int e; int id;};class Cmp{public: bool operator()(const term & t1,const term &t2) { if(t1.e>t2.e) return true; if(t2.e == t1.e) return t1.s <= t2.s; return false; }};int c[N];int rst[N];int lowbit(int i){ return i&(-i);}int sum(int i){ int s=0; while (i>0) { s +=c[i]; i -=lowbit(i); } return s;}void update(int pos,int val){ while(pos<=N) { c[pos] +=val; pos +=lowbit(pos); }}int main(){ int num; vector
cows; while (scanf("%d",&num) && num!=0) { for (int i=0;i

这是网上找的代码

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#define MAX 100010using namespace std;typedef struct SE{ int s,e; int ind;}SE;SE se[MAX];int c[MAX];int ind[MAX];int out[MAX];bool cmp( SE a ,SE b ){ if( a.e == b.e ) return a.s < b.s; return a.e > b.e;}int Lowbit(int x){ return x & (-x);}void Updata(int x){ while( x < MAX ) { c[x]++; x += Lowbit(x); }}int Getsum(int x){ int sum = 0; while( x > 0 ) { sum += c[x]; x -= Lowbit(x); } return sum;}int main(){ int i,n; while( ~scanf("%d",&n) && n ) { memset(c,0,sizeof(c)); memset(se,0,sizeof(se)); memset(out,0,sizeof(out)); for(i=0; i

转载地址:http://vseti.baihongyu.com/

你可能感兴趣的文章
CMFCRibbonStatusBar用法
查看>>
CMFCListCtrl控件使用
查看>>
CMFCControlRendererInfo类的参数
查看>>
史上最详细MFC调用mapX5.02.26步骤(附地图测试GST文件)
查看>>
CMFCShellListCtrl使用方法
查看>>
mapnik的demo运行
查看>>
python支持下的mapnik安装
查看>>
The Android ION memory allocator, DMABUF is mentioned as well
查看>>
spin_lock and mutex_lock
查看>>
C与C++互相调用
查看>>
map server
查看>>
MTK Android 开发笔记
查看>>
大一大二ACM训练时,建立的一个博客,专门用来写题解的
查看>>
读书笔记(会不断更新中)
查看>>
图形学实验一:bresenham算法 画线和画圆
查看>>
codeblocks配置GLUT
查看>>
矩阵卷积、矩阵相乘的转化
查看>>
图形学实验二:画个火柴人
查看>>
openGL光照(illumination)
查看>>
C++重载,重写,重定义
查看>>