hdu5437 优先队列 长春网赛
2024-10-08 02:06:16
优先队列做,然后遍历人数。
#include <queue>
#include <stdio.h>
#include <string.h>
#define maxn 150010
using namespace std;
struct node
{
int id;
int val;
friend bool operator < (node a ,node b){
if(a.val==b.val)
return a.id > b.id;
return a.val < b.val;
}
}a[maxn];
priority_queue<node>q;
int n,x[maxn],ans[maxn];
char name[maxn][];
int main()
{
int i,j,t,m,p;
scanf("%d", &t);
while(t--)
{
scanf("%d %d %d", &n, &m, &p);
memset(x,,sizeof(x));
for(i=; i<=n; i++)
{
scanf("%s %d", name[i], &a[i].val);
a[i].id=i;
ans[i]=;
}
for(i=; i<m; i++)
{
int fx,fy;
scanf("%d %d", &fx, &fy);
x[fx]=fy;
}
int cou=;
for(i=;i<=n;i++)
{
q.push(a[i]);
for(j=;j<x[i]&&!q.empty();j++)
{
node tt=q.top();
q.pop();
ans[cou++]=tt.id;
}
}
while(!q.empty())
{
node tt=q.top();
q.pop();
ans[cou++]=tt.id;
}
int flag=;
while(p--)
{
int fp;
scanf("%d",&fp);
if(!flag)
printf("%s",name[ans[fp]]);
else printf(" %s",name[ans[fp]]);
flag=;
}
printf("\n");
}
}
最新文章
- Python成长笔记 - 基础篇 (七)python面向对象
- java POI实现向Excel中插入图片
- 如何对Redis设置密码,提高安全性
- mousewheel
- 写一个 nodejs npm应用 - webhere
- 初识UIScrollView
- Windows下adb push 总是提示Failed to copy ";XX.apk"; to &#39;system/app&#39;:Read-only file system
- winform:无法引用其他类库,dll,using等个人看法【图】
- MVC中实现部分内容异步加载
- Codeforces Round #310 (Div. 2)--A(简单题)
- (13)[Xamarin.Android] 不同分辨率下的图片使用概论
- div里面的margin-top失效
- .NET Framework 各个版本介绍
- voa 2015 / 4 / 25
- TCP(控制传输协议)详解
- C语言实例:类型转换
- Git使用过程中的问题
- Python全栈开发-Day8-Socket网络编程
- 一次jenkins的错误
- .Net 上传文件和下载文件