GTW likes gt(BC 模拟 or 优先队列)
GTW likes gt
从前,有nnn只萌萌的GT,他们分成了两组在一起玩游戏。他们会排列成一排,第iii只GT会随机得到一个能力值bib_ibi。在第iii秒的时候,第iii只GT可以消灭掉所有排在他前面的和他不是同一组的且能力值小于他的GT。
为了使游戏更加有趣,GT的首领GTW会发功m次,第i次发功的时间为ci,则在第ci秒结束后,b1,b2,...,bci都会增加1。
现在,GTW想知道在第nnn秒之后,会有几只GT存活下来。
总共TTT行,第iii行表示第iii组数据中,GT存活的个数。
1 //测试数据个数
4 3 //n个gtm,m次发功
0 3
1 2
0 3
1 1
1 //发功时间
3
4
3
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
struct gt
{
int pos,d;
int b;
}g[+];
int c[+];
int n,m;
int main()
{
int i,j;
int T;
freopen("in.txt","r",stdin);
cin>>T;
while(T--)
{
int co=;
scanf("%d%d",&n,&m);
for(i=;i<n;i++) scanf("%d%d",&g[i].pos,&g[i].b);
for(i=;i<m;i++) scanf("%d",&c[i]);
sort(c,c+m);
for(i=;i<n;i++)
g[i].d=;
for(i=;i<m;i++)
{
int t=c[i]-;
for(int p=;p<=t;p++)
g[p].b++;
}
for(i=;i<n;i++)
{
for(j=;j<i;j++)
{
if(g[j].d==&&g[j].pos!=g[i].pos&&g[i].b>g[j].b)
{
g[j].d=;
co++;
}
}
}
printf("%d\n",n-co);
}
}
应大神的的代码:
#include <iostream>
#include <queue>
#include <cstring>
#define for1to(i,n) for(int i=1;i<=n;i++)
#define forto(i,n) for(int i=0;i<n;i++)
#define CLR(x) memset(x,0,sizeof(x))
using namespace std;
int a[],b[];
int c[];
int main()
{
ios_base::sync_with_stdio(false);
int Total;
cin>>Total;
for1to(Case,Total)
{
priority_queue<int,vector<int>,greater<int> > pq1;
priority_queue<int,vector<int>,greater<int> > pq0;
int n,m;
cin>>n>>m;
forto(i,n)
cin>>a[i]>>b[i];
CLR(c);
forto(i,m)
{
int t;
cin>>t;
t--;
c[t]++;
}
int time=;
int nres=;
for(int i=;i<n;i++)
{
b[i]-=time;
time+=c[i];
if (a[i]==)
{
while(!pq1.empty()&&pq1.top()<b[i])
{
nres++;
pq1.pop();
}
pq0.push(b[i]);
}
else
{
while(!pq0.empty()&&pq0.top()<b[i])
{
nres++;
pq0.pop();
}
pq1.push(b[i]);
}
}
cout<<n-nres<<endl;
}
return ;
}
GTW likes gt(BC 模拟 or 优先队列)的更多相关文章
- GTW likes math(BC 1001)
GTW likes math Accepts: 472 Submissions: 2140 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 1 ...
- hdu-5596 GTW likes gt(模拟+优先队列)
题目链接: GTW likes gt Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Othe ...
- HDU5597/BestCoder Round #66 (div.2) GTW likes function 打表欧拉函数
GTW likes function Memory Limit: 131072/131072 K (Java/Others) 问题描述 现在给出下列两个定义: f(x)=f_{0}(x)=\ ...
- HDU 5596/BestCoder Round #66 (div.2) GTW likes math 签到
GTW likes math Memory Limit: 131072/131072 K (Java/Others) 问题描述 某一天,GTW听了数学特级教师金龙鱼的课之后,开始做数学<从自主 ...
- HDU 5597 GTW likes function 打表
GTW likes function 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5596 Description Now you are give ...
- HDU 5596 GTW likes gt 倒推
GTW likes gt 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5596 Description Long long ago, there w ...
- hdu-5597 GTW likes function(欧拉函数+找规律)
题目链接: GTW likes function Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (J ...
- GTW likes math(简单数学)
GTW likes math Accepts: 472 Submissions: 2140 Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...
- HDU 5596 ——GTW likes gt——————【想法题】
GTW likes gt Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)To ...
随机推荐
- OAuth 2.0 开发完全详解
--------------------------基础篇------------------------------- I:OAuth 2.0 概述 首先大家来看看国内新浪跟腾讯这两大头对OAuth ...
- Linux(Centos)下安装MySQL
转载:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 一.mysql简介 说到数据库,我们大多想到的是关 ...
- The Contiki build system 编译系统
The Contiki build system======================== The Contiki build system is designed to make it eas ...
- linux里忘记root密码解决办法
1:打开虚拟机,点‘启动’按钮, 2:出现上面这个界面时,键盘输入’i’,出现grub界面: 3:键盘输入e,出现如下界面: 4:选择第二行(kernel……) 5:键盘输入e,出现如下界面: 6:在 ...
- PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本
微软在推出PS的同时,没有忘记其一贯的作风,什么东东都弄一个IDE环境,这不微软没有忘记给PS也来一个IDE的环境, 通过这个IDE环境,可以建立psl文件,可以调试psl文件. 1.IDE界面 我们 ...
- OpenWRT 编译 error GNU libiconv not in use but included iconv.h is from...
OpenWRT 编译 error GNU libiconv not in use but included iconv.h is from... 编译的时候碰到一个常见的错误,但是却在一个陌生的地方爆 ...
- 利用sql 存储过程把表中内容自动生成insert语句
选中所在数据库 执行创建存储过程的sql CREATE proc [dbo].[spGenInsertSQL] (@tablename nvarchar(256),@sqlwhere varchar( ...
- pyqt columnView例子学习
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import * from Py ...
- InnoDB和MyISAM存储引擎的区别
在MySQL数据库的使用过程中我们经常会听到存储引擎这个名词.MySQL的存储引擎有好多种如InnoDB.MyISAM.Memory.NDB等等,多存储引擎也是MySQL数据库的特色. InnoDB和 ...
- sql语句中BEGIN TRAN...COMMIT TRAN
BEGIN TRAN标记事务開始 COMMIT TRAN 提交事务 一般把DML语句(select ,delete,update,insert语句)放在BEGIN TRAN...COMMIT TR ...