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 ...
随机推荐
- (2010-8-31) awk内存泄漏以及缓慢的正则表达式计算速度
AWK内存泄露: 这几天本来就很郁闷,遇到搭建在hadoop平台上的hive平台有很多问题.写个好好的sql语句,总是说这个错误那个错误.然后,今天遇到一个更加郁闷的问题,居然分析淘宝数据的awk都运 ...
- mysql group_concat函数是有长度限制的
在表关联查询中,特别是一对多关系的表查询中,group_concat函数是很有用的一个函数,帮助我们减少对数据库查询的次数,减少服务器的压力. 但是今天使用group_concat函数查询数据库时,发 ...
- Qt修改文件内容
在用Qt进行嵌入式开发的时候,有时需要通过界面永久的改变ip地址等网卡信息.此时只能修改系统中包含网卡信息的文件,下图红框中所示就是文件中的网卡信息. 那么如何修改这四行呢,我的做法是先打开该文本文件 ...
- UltraChart画柱状图上面显示数值
http://www.cnblogs.com/kevin-h-wang/archive/2013/06/05/UltraChart.html 1.柱状图上显示数值 ? //第一种方法 this.Ult ...
- windows下wchar_t* 转char*
这个在windows下很常见,常用,留个档. 一般用这个函数: size_t wcstombs( char *mbstr, const wchar_t *wcstr, size_t count ); ...
- js深入研究之类定义与使用
js可以定义自己的类 很有意思 <script type="text/javascript"> var Anim = function() { alert('nihao ...
- Spring使用小结2
之前做过不少spring想过知识点内容的摘录, Spring框架的特点.模块组成.优缺点 spring相关的bean管理想过知识点及依赖注入方式 今天说下近端时间中项目中遇到的相关印象比较深的知识点 ...
- POJ-2955括号匹配问题(区间DP)
Brackets Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4834 Accepted: 2574 Descript ...
- 89c52串口发送接收小示例
//串口发送 void sendChar(char *p)//调用前关中断,调用完成后关中断 { while(*p != '\0') { SBUF = *P while(!TI); TI = 0; p ...
- mysql保存emoji表情(微信开发用户昵称..)
java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for colum n 'name' at row 1 at c ...