【POJ】2828 Buy Tickets
线段树+逆序插入。
#include <stdio.h>
#include <string.h> #define MAXN 200005
#define lson l, mid, rt<<1
#define rson mid+1, r, rt<<1|1 int space[MAXN<<];
int nums[MAXN];
int pi[MAXN], vi[MAXN];
int pos; void build(int l, int r, int rt) {
int mid;
space[rt] = r - l +;
if (l == r)
return ;
mid = (l+r)>>;
build(lson);
build(rson);
} void update(int p, int l, int r, int rt) {
int mid;
--space[rt];
if (l == r) {
pos = l;
return ;
}
mid = (l+r) >> ;
if (space[rt<<] >= p)
update(p, lson);
else {
p -= space[rt<<];
update(p, rson);
}
} int main() {
int i, n; while (scanf("%d", &n) != EOF) {
build(, n, );
for (i=; i<=n; ++i)
scanf("%d %d", &pi[i], &vi[i]);
for (i=n; i>; --i) {
update(pi[i]+, , n, );
nums[pos] = vi[i];
//printf("pos=%d\n", pos);
}
printf("%d", nums[]);
for (i=; i<=n; ++i)
printf(" %d", nums[i]);
printf("\n");
} return ;
}
【POJ】2828 Buy Tickets的更多相关文章
- 【POJ】2828 Buy Tickets(线段树+特殊的技巧/splay)
		
http://poj.org/problem?id=2828 一开始敲了个splay,直接模拟. tle了.. 常数太大.. 好吧,说是用线段树.. 而且思想很拽.. (貌似很久以前写过貌似的,,) ...
 - poj 2828 Buy Tickets 【线段树点更新】
		
题目:id=2828" target="_blank">poj 2828 Buy Tickets 题意:有n个人排队,每一个人有一个价值和要插的位置,然后当要插的位 ...
 - poj 2828 Buy Tickets (线段树(排队插入后输出序列))
		
http://poj.org/problem?id=2828 Buy Tickets Time Limit: 4000MS Memory Limit: 65536K Total Submissio ...
 - POJ 2828 Buy Tickets(排队问题,线段树应用)
		
POJ 2828 Buy Tickets(排队问题,线段树应用) ACM 题目地址:POJ 2828 Buy Tickets 题意: 排队买票时候插队. 给出一些数对,分别代表某个人的想要插入的位 ...
 - poj 2828 Buy Tickets(树状数组 | 线段树)
		
题目链接:poj 2828 Buy Tickets 题目大意:给定N,表示有个人,给定每一个人站入的位置,以及这个人的权值,如今按队列的顺序输出每一个人的权值. 解题思路:第K大元素,非常巧妙,将人入 ...
 - 线段树(单点更新) POJ 2828 Buy tickets
		
题目传送门 /* 结点存储下面有几个空位 每次从根结点往下找找到该插入的位置, 同时更新每个节点的值 */ #include <cstdio> #define lson l, m, rt ...
 - 【POJ】1704 Georgia and Bob(Staircase Nim)
		
Description Georgia and Bob decide to play a self-invented game. They draw a row of grids on paper, ...
 - 【POJ】1067 取石子游戏(博弈论)
		
Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后 ...
 - poj 2828 Buy Tickets【线段树单点更新】【逆序输入】
		
Buy Tickets Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 16273 Accepted: 8098 Desc ...
 
随机推荐
- PHP负载均衡
			
待更新 版权声明:本文为博主原创文章,未经博主允许不得转载.
 - (转)Spring 读书笔记-----使用Spring容器(一)
			
Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spr ...
 - Eclipse项目 迁移到 Intellj IDEA
			
自从用了Intellj IDEA,很多项目都想迁移到Intellj上面去开发 鉴于我们的大部分项目都是基于Maven构建的,所以就可以利用maven的命令来做这个事情. 1.选择一个ecli ...
 - window 安装 Protobuf
			
环境安装 1:下载CMake 2:打开VS Command Prompt 3:修改工作目录到目标目录 cd C:\Path\to 4:创建编译完后 protobuf headers/libraries ...
 - Android 网络视频播放器
			
项目概要: 1.登录界面 2.播放列表 3.播放界面
 - HTML中的API
			
在程序语言里面就使用API这个行为来讲,可拆解为两个操作:取得API接口和运行API功能 例如:书本具有传授知识的功能,这里就好比一个API,学生拿出某个课本学习,就相当于取得API,学习通过课本学习 ...
 - ubuntu出现有线已连接却无法上网
			
或者直接追加到/etc/sysctl.conf 如果遇到“设备未托管”,一般是台式机默认移动ip后禁用网络. 那么修改/etc/NetworkManager/NetworkManager.conf,设 ...
 - JPEG 图
			
多媒体教程 - JPEG 图 JPEG 是在 Web 上使用的主要图像格式之一. 本文讲解 JPEG 图像的概念和特性. 理解图像格式 无论是 HTML 还是 XHTML 都没有规定图像的官方格式.然 ...
 - PAT_1008 数组元素循环右移问题
			
题目描述: 一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN ...
 - 如何在本地安装测试ECSHOP  转载
			
如何在本地安装测试ECSHOP 如何在本地(自己的电脑)上先安装ECShop 一.创建PHP环境 1.下载AppServ 因为ECShop在线网上商店系统是用PHP语言开发的,所以,在本地架设网店之前 ...