POJ 2828 Buy Tickets(单点更新 区间求和)
来源:互联网 发布:苹果骚扰拦截软件 编辑:程序博客网 时间:2024/06/06 03:04
题意: 有N 个人站队,告诉每个人想插队的位置,要求确定最终的站队位置。
分析: 越往后插队的人位置越固定,因此可以从后向前插入,每个人插入的位置为从第1 个位置起的第 pos+1 空位置。
#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define havemid int m=(l+r)>>1#define left (rt<<1)#define right (rt<<1|1)#define clr(x) memset(x,0,sizeof(x))const int maxn=200100;struct p{ int pos,val;}P[maxn];int sum[maxn<<2];int val[maxn<<2];void pushup(int rt){ sum[rt]=sum[left]+sum[right];}void build(int l,int r,int rt){ if(l==r){ sum[rt]=1; return ; } havemid; build(lson); build(rson); pushup(rt);}void update(int pos,int l,int r,int rt,int va){ if(l==r){ val[l]=va; sum[rt]=0; return ; } havemid; if(sum[left]>=pos)update(pos,lson,va); else update(pos-sum[left],rson,va); pushup(rt);}int main(){ int n,i; while(scanf("%d",&n)!=EOF){ for(i=0;i<n;i++){ scanf("%d%d",&P[i].pos,&P[i].val); } build(1,n,1); for(i=n-1;i>=0;i--){ update(P[i].pos+1,1,n,1,P[i].val); } for(i=1;i<=n;i++) printf("%d ",val[i]); printf("\n"); } return 0;}
- POJ 2828 Buy Tickets(单点更新 区间求和)
- poj 2828 Buy Tickets 【线段树】【逆序插入 + 单点更新 + 区间求和】
- POJ 2828 Buy Tickets(单点更新)
- POJ 2828 Buy Tickets (单点更新)
- POJ 2828 Buy Tickets(单点更新)
- POJ 2828 Buy Tickets 线段树 单点更新
- Buy Tickets---poj 2828 线段树单点更新练习
- POJ 2828 Buy Tickets ( 线段树—单点更新 )
- POJ 2828 Buy Tickets (线段树单点更新)
- poj 2828 Buy Tickets(线段树单点更新)
- POJ 2828 Buy Tickets (线段树,单点更新)
- POJ - 2828 Buy Tickets (线段树单点更新)
- poj 2828 Buy Tickets (线段树---单点更新)
- POJ 2828 Buy Tickets(线段树单点更新维护)
- POJ - 2828 Buy Tickets(线段树单点更新)
- POJ 题目2828 Buy Tickets(线段树单点更新)
- poj 2828 Buy Tickets(线段树-单点更新)
- POJ 2828 Buy Tickets(线段树--单点更新)
- 【面试】struts2的工作流程
- [Drupal教程] 如何添加CSS和Javascript定制Drupal7表单
- 定制linux kernel,发挥计算机性能
- 基于WinCE操作系统的通用USB数控键盘设计
- cloudstack 查看QQ群笔记知识点总结
- POJ 2828 Buy Tickets(单点更新 区间求和)
- libevent和libcurl的一些学习
- android开发中,导入有数据的sqlite,与apk一起安装到手机上
- 英飞凌可信平台模块解决方案全新支持Windows 8
- Nutz 框架下 测试 jQuery-JSONP 插件跨域调用功能(Uncaught SyntaxError: Unexpected token : 出错原因解释)
- drupal:hook_menu 的基本应用
- JTAG是把屠龙刀,说说其作用和原理
- 关于Android View与Drawable的问题
- 设计模式(六)----观察者模式