USACO 2015 December Contest Gold T1: High Card Low Card
题目大意
有 2N 张牌,它们的点数分别为 1 到 2N 。Bessie 拿了其中的 N 张,Elsie 拿了剩下的 N 张。
Bessie 和 Elsie 会进行 K 轮游戏,在每轮游戏中,Bessie 和 Elsie 各出一张牌。出了的牌不能收回。
在前 N/2 轮中,谁的牌点数大谁就赢;在后 N/2 轮中,谁的牌点数小谁就赢。
已知 Elsie 每一轮会出什么牌,试求 Bessie 最多能赢多少轮。 2≤N≤50000, 保证 N 是偶数。
题目分析
既然牌的拥有者已经确定,我们可以直接贪心。Bessie 的最优策略就是就是用自己最大的那些牌去打 Elsie 最大的那些牌,如果能打过就打,打不过就先不管,
后 N/2 轮打完后, Bessie最多能赢的局数已经确定,剩下的牌无论怎么出也不会影响结果了,也就是那些剩下的牌可以瞎打。。。
1 #include<bits/stdc++.h> 2 using namespace std; 3 const int MAXN=5e4+10; 4 5 int n,ans; 6 int a[MAXN],b[MAXN]; 7 int bel[MAXN<<1]; 8 inline bool cmp(int x,int y){ 9 return x>y; 10 } 11 int main(){ 12 scanf("%d",&n); 13 for(int i=1;i<=n/2;++i){ 14 scanf("%d",&a[i]); 15 bel[a[i]]=1; 16 } 17 for(int i=1;i<=n/2;++i){ 18 scanf("%d",&b[i]); 19 bel[b[i]]=1; 20 } 21 sort(a+1,a+n/2+1,cmp); 22 sort(b+1,b+n/2+1); 23 int now=n*2; 24 for(int i=1;i<=n/2;++i){ 25 while(bel[now]&&now>=1) --now; 26 if(now<a[i]) continue; 27 else{ 28 bel[now]=2; 29 ++ans; 30 } 31 } 32 now=1; 33 for(int i=1;i<=n/2;++i){ 34 while(bel[now]&&now<=2*n) ++now; 35 if(now>b[i]) continue; 36 else { 37 bel[now]=2; 38 ++ans; 39 } 40 } 41 printf("%d\n",ans); 42 return 0; 43 }
转载于:https://www.cnblogs.com/LI-dox/p/11215618.html
USACO 2015 December Contest Gold T1: High Card Low Card相关推荐
- 【贪心】[USACO 2015 February Contest, Gold]Circular Barn
题目大意 农夫约翰有一个圆形的谷仓,谷仓分成了环形的n(3<=n<=100000)个房间,编号为1,2,--n.每个房间有三个门,两个门通往两个相邻的房间,第三个门朝外.约翰有n头奶牛,乱 ...
- USACO 2020 February Contest, Gold
USACO 2020 February Contest, Gold 图片懒得上传了,如果影响阅读可以看个人公开笔记 另外就是之前接近一年没登陆,所以消息都没看到,抱歉了. 测试地址 Problem 1 ...
- USACO 2018 FEBURARY CONTEST :SILVER T1
USACO 2018 February Contest, Silver Problem 1. Rest Stops Farmer John and his personal trainer Bessi ...
- 【dp 贪心】bzoj4391: [Usaco2015 dec]High Card Low Card
巧妙的贪心 Description Bessie the cow is a huge fan of card games, which is quite surprising, given her l ...
- USACO 2022 December Contest, BronzeProblem 1. Cow College 题解
以下是2022年-2023年USACO赛季第一个月的青铜组第一题,可以使用"计数数组+打擂台找最值"的思想,需要考生掌握一点算法才能通关.文章引用了官网题面,提供思考思路和代码,代 ...
- USACO 2012 January Contest, Gold Division Solution
T1是一道字符串套dp,当然字符串长度较短于是直接暴力dp即可. T2是一道博弈??反正当爆搜写掉,注意随机化优化. T3是一道树形dp,当然是要挖一些性质的题,敲了近两个小时发现了性质2分钟A了..
- USACO 2015 January Contest Bronze——奶牛的旅行路线
文章目录 题目描述 输入格式 输出格式 数据范围 输入样例 输出样例 实现代码--奶牛只想走一条路线的情况下 题目描述 厌倦了农场寒冷的冬季天气,奶牛贝茜计划飞往一个温暖的目的地度假. 不幸的是,她发 ...
- USACO 2017 December Contest Platinum T3: Greedy Gift Takers
题目大意 有 N(1≤N≤1e5)头牛按顺序排成一列,编号从 1 到 N,1 号牛在队头,N 号牛在队尾. 每次位于队头的牛 i 拿到一个礼物,然后插入到从队尾数ci头牛之前的位置..举个栗子: 初 ...
- USACO 2020 December Contest, BronzeProblem 2. Daisy Chains题解
题目描述: 每天,作为她绕农场行走的一部分,奶牛 Bessie 会经过她最喜爱的草地,其中种有 N 朵花(五颜六色的雏菊),编号为1-N(1≤N≤100),排列成一行.花 i 有 pi 朵花瓣(1≤p ...
- USACO 2020 December Contest, BronzeProblem 1. Do You Know Your ABCs?
QUESTION Farmer John 的奶牛正在 "mooZ" 视频会议平台上举行每日集会.她们发明了一个简单的数字游戏,为会议增添一些乐趣. Elsie 有三个正整数 A.B ...
最新文章
- JAVA批量上传下载Excel_如何实现批量上传----------Java解析excel
- NR 5G 安全与秘钥简述
- 记-安装pillow
- sql 一个字段在另外一个表没出现_都9012年啦,不懂得这些SQL语句优化,你是要吃大亏的...
- 浅尝boost之format
- 常用的python测试脚本_详解Python的单元测试
- MY-SQL常用命令
- UITableView 如何设置背景颜色
- Office机器人2.1.763.557(Excel批量打印 Word批量打印 批量加密 批量解密 批量转换格式)...
- 仿微信 即时聊天工具 - SignalR (一)
- QThread源码浅析
- python模拟登陆qq空间
- 模拟京东快递单号查询案例
- STC12C5A60S2
- 打印26个大写字母和26个小写字母
- 短信发送显示服务器失败,手机短信发不出去怎么办 手机故障解决方法【方法步骤】...
- 酒越陈越醇,OPPO Reno越更越香
- pyecharts制作3d地图加柱状图
- filebeat 收集json格式_Filebeat 采集日志实践经验记录
- led大屏按实际尺寸设计画面_实用!LED显示屏尺寸规格及计算方法
热门文章
- python对接支付宝支付_python对接支付宝PC端支付
- python输出文本框_python如何使用文本框
- 黑龙江省大学计算机学校排名2015,2015黑龙江省最佳大学排行榜
- 一文带你了解redux的工作流程——action/reducer/store
- Dart语言编程基础
- 【毕设记录日记】深度学习|铝型材表面缺陷视觉检测算法:YOLOv5环境搭建、基础知识、问题解决、优化方法
- 父进程为什么要创建子进程
- ionic 微博模板
- 【CV算法兵器】“晓风残月” ->对抗攻击“兵器”大放送(综述篇)
- 在Xubuntu上安装中文输入法