题目大意

有 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相关推荐

  1. 【贪心】[USACO 2015 February Contest, Gold]Circular Barn

    题目大意 农夫约翰有一个圆形的谷仓,谷仓分成了环形的n(3<=n<=100000)个房间,编号为1,2,--n.每个房间有三个门,两个门通往两个相邻的房间,第三个门朝外.约翰有n头奶牛,乱 ...

  2. USACO 2020 February Contest, Gold

    USACO 2020 February Contest, Gold 图片懒得上传了,如果影响阅读可以看个人公开笔记 另外就是之前接近一年没登陆,所以消息都没看到,抱歉了. 测试地址 Problem 1 ...

  3. USACO 2018 FEBURARY CONTEST :SILVER T1

    USACO 2018 February Contest, Silver Problem 1. Rest Stops Farmer John and his personal trainer Bessi ...

  4. 【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 ...

  5. USACO 2022 December Contest, BronzeProblem 1. Cow College 题解

    以下是2022年-2023年USACO赛季第一个月的青铜组第一题,可以使用"计数数组+打擂台找最值"的思想,需要考生掌握一点算法才能通关.文章引用了官网题面,提供思考思路和代码,代 ...

  6. USACO 2012 January Contest, Gold Division Solution

    T1是一道字符串套dp,当然字符串长度较短于是直接暴力dp即可. T2是一道博弈??反正当爆搜写掉,注意随机化优化. T3是一道树形dp,当然是要挖一些性质的题,敲了近两个小时发现了性质2分钟A了..

  7. USACO 2015 January Contest Bronze——奶牛的旅行路线

    文章目录 题目描述 输入格式 输出格式 数据范围 输入样例 输出样例 实现代码--奶牛只想走一条路线的情况下 题目描述 厌倦了农场寒冷的冬季天气,奶牛贝茜计划飞往一个温暖的目的地度假. 不幸的是,她发 ...

  8. USACO 2017 December Contest Platinum T3: Greedy Gift Takers

    题目大意 有 N(1≤N≤1e5)头牛按顺序排成一列,编号从 1 到 N,1 号牛在队头,N 号牛在队尾. 每次位于队头的牛 i 拿到一个礼物,然后插入到从队尾数ci​头牛之前的位置..举个栗子: 初 ...

  9. USACO 2020 December Contest, BronzeProblem 2. Daisy Chains题解

    题目描述: 每天,作为她绕农场行走的一部分,奶牛 Bessie 会经过她最喜爱的草地,其中种有 N 朵花(五颜六色的雏菊),编号为1-N(1≤N≤100),排列成一行.花 i 有 pi 朵花瓣(1≤p ...

  10. USACO 2020 December Contest, BronzeProblem 1. Do You Know Your ABCs?

    QUESTION Farmer John 的奶牛正在 "mooZ" 视频会议平台上举行每日集会.她们发明了一个简单的数字游戏,为会议增添一些乐趣. Elsie 有三个正整数 A.B ...

最新文章

  1. JAVA批量上传下载Excel_如何实现批量上传----------Java解析excel
  2. NR 5G 安全与秘钥简述
  3. 记-安装pillow
  4. sql 一个字段在另外一个表没出现_都9012年啦,不懂得这些SQL语句优化,你是要吃大亏的...
  5. 浅尝boost之format
  6. 常用的python测试脚本_详解Python的单元测试
  7. MY-SQL常用命令
  8. UITableView 如何设置背景颜色
  9. Office机器人2.1.763.557(Excel批量打印 Word批量打印 批量加密 批量解密 批量转换格式)...
  10. 仿微信 即时聊天工具 - SignalR (一)
  11. QThread源码浅析
  12. python模拟登陆qq空间
  13. 模拟京东快递单号查询案例
  14. STC12C5A60S2
  15. 打印26个大写字母和26个小写字母
  16. 短信发送显示服务器失败,手机短信发不出去怎么办 手机故障解决方法【方法步骤】...
  17. 酒越陈越醇,OPPO Reno越更越香
  18. pyecharts制作3d地图加柱状图
  19. filebeat 收集json格式_Filebeat 采集日志实践经验记录
  20. led大屏按实际尺寸设计画面_实用!LED显示屏尺寸规格及计算方法

热门文章

  1. python对接支付宝支付_python对接支付宝PC端支付
  2. python输出文本框_python如何使用文本框
  3. 黑龙江省大学计算机学校排名2015,2015黑龙江省最佳大学排行榜
  4. 一文带你了解redux的工作流程——action/reducer/store
  5. Dart语言编程基础
  6. 【毕设记录日记】深度学习|铝型材表面缺陷视觉检测算法:YOLOv5环境搭建、基础知识、问题解决、优化方法
  7. 父进程为什么要创建子进程
  8. ionic 微博模板
  9. 【CV算法兵器】“晓风残月” ->对抗攻击“兵器”大放送(综述篇)
  10. 在Xubuntu上安装中文输入法