bzoj4396[Usaco2015 dec]High Card Wins

题意:

一共有2n张牌,Alice有n张,Bob有n张,每一局点数大的赢。知道Bob的出牌顺序,求Alice最多能赢几局。n≤50000。

题解:

贪心。将Alice和Bob的牌按点数大小排序,然后如果Alice当前牌能赢Bob当前牌就ans++否则就不断调整Bob的当前牌直到Alice当前牌能赢Bob当前牌。

代码:

 #include <cstdio>
#include <cstring>
#include <algorithm>
#define inc(i,j,k) for(int i=j;i<=k;i++)
#define maxn 50010
using namespace std; inline int read(){
char ch=getchar(); int f=,x=;
while(ch<''||ch>''){if(ch=='-')f=-; ch=getchar();}
while(ch>=''&&ch<='')x=x*+ch-'',ch=getchar();
return f*x;
}
int a[maxn],b[maxn],ans,n,tot; bool c[maxn*];
int main(){
n=read(); inc(i,,n)a[i]=read(),c[a[i]]=; inc(i,,*n)if(!c[i])b[++tot]=i; sort(a+,a+n+);
int p=,q=;
while(){
while(p<=n&&b[p]<a[q])p++; if(p==n+)break; ans++; p++; q++;
}
printf("%d",ans); return ;
}

20160908

最新文章

  1. HTTP状态码(2xx,3xx,4xx,5xx)
  2. Keepalived 配置实例
  3. VMware Workstation cannot connect to the virtual machine 解决方案
  4. lintcode: 跳跃游戏 II
  5. Js Pattern - Namespace Pattern
  6. switch vpn 配置
  7. MSP430的IO口模拟I2C总线对AT24C25进行读写程序
  8. 关于智普 - 千人免费学|Python培训|国内最权威python培训|html5
  9. 简单的python协同过滤程序
  10. 每天一个Linux命令(02)--cd命令
  11. UITableView grouped样式使用探索
  12. Iterator(es6)
  13. Windows7安装Pygame软件
  14. 洛谷 P1414 又是毕业季II
  15. python中的矩阵、多维数组
  16. 论文笔记系列-Neural Network Search :A Survey
  17. java 上传图片 并压缩图片大小(转)
  18. gnu make - 初学
  19. 如何在Qt Creator中导入图标资源
  20. HDU2389(KB10-F 二分图最大匹配Hopcroft_Karp)

热门文章

  1. mysql字符串类型(char,varchar)
  2. 万级TPS亿级流水-中台账户系统架构设计
  3. SpringMVC面试专题
  4. Ehcache基础入门
  5. RabbitMQ:二、客户端开发向导
  6. postman写测试用例
  7. 在linux裸机部署springBoot项目
  8. python之浅谈数据类型
  9. [SCOI2016]背单词 题解
  10. 关于Spring Boot中的业务层(Service)是否要创建接口的分析