ZOJ 3635 线段树
来源:互联网 发布:淘宝优酷会员领取 编辑:程序博客网 时间:2024/05/04 11:55
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3635
题意:每个人有张票,上面的数字代表他坐在从左往右第几个空座上。。
思路:线段树记录空座数目,水线段树。。
#include <cstdio>#define lson l , m , rt << 1#define rson m + 1 , r , rt << 1 | 1const int maxn = 55555;int sum[maxn<<2];int ans[maxn];void PushUP(int rt) { sum[rt] = sum[rt<<1] + sum[rt<<1|1];}void build(int l,int r,int rt) { if (l == r) { sum[rt] = 1; return ; } int m = (l + r) >> 1; build(lson); build(rson); PushUP(rt);}void update(int p,int add,int l,int r,int rt,int now) { if (l == r) { sum[rt] += add; ans[now] = l; return ; } int m = (l + r) >> 1; if (sum[rt<<1]>=p) update(p , add , lson,now); else update(p-sum[rt<<1] , add , rson,now); PushUP(rt);}int main() { int n; while(~scanf("%d",&n)){ build(1,n,1); for(int i=1;i<=n;i++){ int a; scanf("%d",&a); update(a,-1,1,n,1,i); } int m; scanf("%d",&m); while(m--){ int a; scanf("%d",&a); printf("%d",ans[a]); if(m)printf(" "); else printf("\n"); } } return 0;}
0 0
- zoj 3635 线段树
- ZOJ 3635 线段树
- ZOJ 3635 线段树
- ZOJ 3635 Cinema in Akiba【线段树】
- zoj 1610 线段树
- zoj 1610 线段树
- zoj 3724 线段树
- ZOJ 3686 线段树
- zoj 3299 线段树
- 线段树 ZOJ 3574
- ZOJ 3299 线段树
- ZOJ 3772 线段树
- ZOJ 1610 线段树
- zoj 1610 线段树
- ZOJ 3324 Machine(线段树)
- zoj 3540 线段树笔记
- ZOJ 2900 Icecream(线段树)
- ZOJ 3279 Ants(线段树)
- 最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)
- sip中的subscribe和notify扩展应用技术
- 手动写QT界面实例 不依赖ui文件
- java filter
- OpenCV基础篇之绘图及RNG随机数对象
- ZOJ 3635 线段树
- android studio上使用git 和github
- PSIM可视化智能安防
- 生成HFile以及入库到HBase
- Insertion Sort List
- Appleman and Tree - CodeForces 461 B 树形dp
- OpenCV基础篇之像素访问
- csdn 链接的一些博客
- java jdom解析xml