博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 2828 Buy Tickets 线段树
阅读量:4630 次
发布时间:2019-06-09

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

node里储存剩余位置数

倒序更新

#include
#include
#include
using namespace std;#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define mid (r+l)>>1const int maxn=200300;int node[maxn<<2],a[maxn],b[maxn],ans[maxn];void build(int l,int r,int rt){ node[rt]=r-l+1; if(r==l) return; int m=mid; build(lson); build(rson);}void update(int n,int l,int r,int rt){ node[rt]--; if(l==r) { ans[l]=b[n]; return; } int m=mid; if(node[rt<<1]>=a[n]) update(n,lson); else { a[n]-=node[rt<<1]; update(n,rson); }}void init(){ memset(a,0,sizeof(a)); memset(node,0,sizeof(node)); memset(b,0,sizeof(b)); memset(ans,0,sizeof(ans));}int main(){ int i,n; while(scanf("%d",&n)!=EOF) { init(); for(i=1;i<=n;i++) { scanf("%d%d",&a[i],&b[i]); a[i]++; } build(1,n,1); for(i=n;i>=1;i--) { update(i,1,n,1); } printf("%d",ans[1]); for(i=2;i<=n;i++) { printf(" %d",ans[i]); } printf("\n"); } return 0;}

转载于:https://www.cnblogs.com/kewowlo/p/4002507.html

你可能感兴趣的文章
Android拷贝工程不覆盖原工程的配置方法
查看>>
linux安装配置postgres及使用dblink
查看>>
ApacheBench(ab)使用详解
查看>>
SSH框架搭建笔记
查看>>
MySQL的information_schema
查看>>
nginx语法
查看>>
存储过程和函数 PROCEDURE & FUNCTION
查看>>
专业名词解释
查看>>
图论--欧拉路,欧拉回路(小结)
查看>>
笔试真题解析 ALBB-2015 算法project师实习生机试
查看>>
配置hadoop集群一
查看>>
SQL练习
查看>>
Python之迭代器,生成器与装饰器
查看>>
eclipse 出现user operation is waiting
查看>>
microsoft 为microbit.org 设计的课程
查看>>
calico
查看>>
给iframe绑定事件
查看>>
羊车门问题分析
查看>>
理解委托
查看>>
HTML5 Canvas编写五彩连珠(3):设计
查看>>