hdu5437Alisha’s Party set模拟
来源:互联网 发布:原生js实现的效果 编辑:程序博客网 时间:2024/06/05 20:14
//一个人邀请n个人做客//先开m次门, 第i次开门 ,//是当第ti个人到了,放pi个人回来//放的pi个人是在门外的人以礼物的价格排序//如果礼物一样 , 先到的先进//当所有人都到了后 , 开门将所有人放进来//最后给出询问 //问第qi次到达的是谁//直接set模拟就行#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<set>using namespace std ;const int maxn = 15e4+10 ;struct node{ int v , id ; bool operator <(struct node tmp)const { if(v == tmp.v) return id < tmp.id ; return v > tmp.v ; }}p[maxn];set<node> se ;pair<int,int> op[maxn] ;int ans[110] ;char str[maxn][210] ;struct Query{ int id ; int v ; bool operator <(struct Query tmp)const { if(v == tmp.v) return id < tmp.id ; return v < tmp.v ; }}q[110] ;int main(){ // freopen("in.txt" , "r" , stdin) ; int t ; scanf("%d" ,&t) ; while(t--) { se.clear() ; int n ; int m , Q ; scanf("%d%d%d" ,&n , &m , &Q) ; for(int i = 1;i <= n;i++) { scanf("%s%d" , str[i] , &p[i].v) ; p[i].id = i ; } for(int i = 1;i <= m;i++) { int a , b ; scanf("%d%d" , &a , &b) ; op[i] = make_pair(a , b) ; } op[m+1] = make_pair(n , n) ; sort(op+1 , op+1+m+1) ; for(int i = 1;i <= Q;i++) { scanf("%d" , &q[i].v) ; q[i].id = i ; } sort(q+1 , q+1+Q) ; set<node>::iterator it ; int pos = 1 ; int j = 1 ; int tmp = 1; for(int i = 1;i <= m+1;i++) { while(pos <= op[i].first && pos <= n) se.insert(p[pos++]) ; int x = op[i].second ; int y = se.size() ; x = min(x ,y) ; while(q[j].v < min(pos,tmp+x) && j <= Q) { it = se.begin() ; int temp = q[j].v - tmp; while(temp--) it++ ; ans[q[j].id] = it->id ; j++ ; } if(j > Q)break ; tmp += x ; while(x--) se.erase(se.begin()) ; } for(int i = 1;i <= Q;i++) printf("%s%c" , str[ans[i]] , i == Q ?'\n' :' ') ; } return 0 ;}
0 0
- hdu5437Alisha’s Party set模拟
- hdu5437Alisha’s Party
- hdu5437Alisha’s Party
- 【优先队列】HDU5437Alisha’s Party【2015 ACM/ICPC Asia Regional Changchun Online】
- HDU 5437 Alisha’s Party(模拟)
- [HDU 5437]Alisha’s Party[模拟]
- Hdu 5437 Alisha’s Party(模拟)
- HDU-5437 Alisha’s Party(STL+模拟)
- 2015长春网络赛1001 - HDU5433 - Alisha’s Party (模拟)
- hdu5437 Alisha’s Party(优先队列、模拟)
- 优先对列模拟 hdu5437 Alisha’s Party
- hdu 5437 Alisha’s Party 2015长春网络赛 模拟
- hdoj 5437 Alisha’s Party 【优先队列 模拟】
- HDU 5437 Alisha’s Party(优先队列+模拟)
- HDU5437 - Alisha’s Party (优先队列 模拟)
- HDU5437 Alisha’s Party(优先队列+模拟)
- HDU 5437 Alisha’s Party (优先队列模拟)
- HDU 5437 Alisha’s Party(优先队列模拟)
- 10730 - Antiarithmetic?(水题)
- shellcode
- Linux 登录后各脚本的调用(尤指 Bash )
- codeforces 244B Restoring Table(“&”位运算)
- 反射机制(字段)
- hdu5437Alisha’s Party set模拟
- c#Dictionary键值对的使用
- HTML 文本格式化
- 集合(Collection集合)由来
- java 小小问题
- linux C++ 多线程 读者写者实现
- hdu5446 lucas+crt
- Python-docx简介
- A. Multiplication Table