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