题目描述里的非主流配图…

这道题做法和田忌赛马差不多,先把自己和对手都排个序,只要按照下面的流程走就行了:

  1.尽量用自己最优的干掉对方最优的 ans+=2

  2.尽量用自己最矬的干掉对方最矬的 ans+=2

  3.用自己最矬的一个干掉对方最优的 ans+=(两者是否相同)? 1:0

而自己最坏的情况,只要用对手最优的情况反着来一次。

 1 /**************************************************************
 2     Problem: 1034
 3     User: zhuohan123
 4     Language: C++
 5     Result: Accepted
 6     Time:252 ms
 7     Memory:2132 kb
 8 ****************************************************************/
 9
10 #include <iostream>
11 #include <cstdio>
12 #include <algorithm>
13 using namespace std;
14 int n,a[110000],b[110000];
15 int main(int argc, char *argv[])
16 {
17     scanf("%d",&n);
18     for(int i=1;i<=n;i++)scanf("%d",&a[i]);
19     sort(a+1,a+n+1);
20     for(int i=1;i<=n;i++)scanf("%d",&b[i]);
21     sort(b+1,b+n+1);
22     int ans=0,al=1,ar=n,bl=1,br=n;
23     while(al<=ar&&bl<=br)
24     {
25         while(a[al]>b[bl]&&al<=ar&&bl<=br)al++,bl++,ans+=2;
26         while(a[ar]>b[br]&&al<=ar&&bl<=br)ar--,br--,ans+=2;
27         if(al<=ar&&bl<=br)ans+=(a[al]==b[br]),al++,br--;
28     }
29     printf("%d ",ans);
30     for(int i=1;i<=n;i++)swap(a[i],b[i]);
31     ans=0,al=1,ar=n,bl=1,br=n;
32     while(al<=ar&&bl<=br)
33     {
34         while(a[al]>b[bl]&&al<=ar&&bl<=br)al++,bl++;
35         while(a[ar]>b[br]&&al<=ar&&bl<=br)ar--,br--;
36         if(al<=ar&&bl<=br)ans+=(a[al]==b[br])?1:2,al++,br--;
37     }
38     printf("%d\n",ans);
39     return 0;
40 }

转载于:https://www.cnblogs.com/zhuohan123/p/3250403.html

BZOJ1034: [ZJOI2008]泡泡堂BNB相关推荐

  1. BZOJ1034 [ZJOI2008]泡泡堂BNB 【贪心】

    1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 3531  Solved: 1798 [Submit][ ...

  2. Bzoj1034 [ZJOI2008]泡泡堂BNB

    Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2935  Solved: 1495 Description 第XXXX届NOI期间,为了加强各省选手 ...

  3. bzoj1034 [ZJOI2008]泡泡堂BNB 结论

    首先,根据田忌赛马的策略, 当第一队的第一个比第二队的第一个小 时,用最小的换最大的 类似的推出,当第一队的第一个比第二队的第一个大 时,用最大的换最大的 同时,从反方向考虑,当第一队的最小的比第二队 ...

  4. bzoj 1034: [ZJOI2008]泡泡堂BNB(贪心)

    1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 3341  Solved: 1708 [Submit][ ...

  5. [Bzoj1034][ZJOJ2008]泡泡堂BNB(贪心)

    1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 3482  Solved: 1776 [Submit][ ...

  6. 【bzoj1034】[ZJOI2008]泡泡堂BNB 贪心

    题目描述 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂.每一场比赛前,对阵双方的教练向组 ...

  7. 【BZOJ】1034: [ZJOI2008]泡泡堂BNB(贪心)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1034 弱的比弱的强就用,强的比强的强就用: 否则弱的和强的比. 输的情况就是2n-ans(b,a), ...

  8. 【codevs1368】【BZOJ1034】泡泡堂BNB,贪心思路

    传送门1 传送门2 写在前面:寒假の终焉,就在消逝在这漫天烟火中吧 思路: 1.你这边最弱>对面最弱,那就打 2.若1不成立,那么你这边最强>对面最强,那也打 3.若1.2均不成立,用&q ...

  9. HYSBZ/BZOJ 1034 [ZJOI2008] 泡泡堂BNB - 贪心

    题目描述 分析: 经典贪心题,跟田忌赛马没什么区别. 1. 以最小的代价尽量多的赢 2. 尽量多的平局 3. 剩下的注定要输了. #include<cstdio> #include< ...

  10. [BZOJ1034]ZJOI2008 泡泡堂|贪心

    田忌赛马..会做但是不会证明..把两队排序,从小到大一一比较,如果最小的能赢就赢,不能赢最大的能赢就赢,再不能就拿最小的去对最大的..一开始我没有考虑最大的能赢就赢,直接牺牲最小的了,这样做会把一些最 ...

最新文章

  1. Attention机制总结 看明白了的
  2. 【技能提升】delegate为什么要用weak
  3. linux安装docker部署java项目
  4. WCF Rest Service
  5. Linux下查看串口信息
  6. linux远程画面同步,如何使VNC和Linux tty7 显示同步效果
  7. 还款压力大要不要买房?
  8. JMeter接口性能测试
  9. 190120每日一句
  10. C语言国二上机题库,【高分飘过】2013年国二C语言上机题库(必备完美版).doc
  11. 重置Winsock失败,在NSHHTTP.DLL中初始化函数InitHelperDll启动失败,错误代码为10107的解决方法
  12. pdf虚拟打印机免费版使用教程
  13. 【深度相机系列二】深度相机原理揭秘--飞行时间(TOF)
  14. 转:详细图解,一眼就能看懂!卷帘快门(Rolling Shutter)与全局快门(Global Shutter)的区别
  15. proxifier中文汉化版
  16. appleid注册服务器错误,连接apple id 服务器时出错(Apple ID 验证连接失败,试试这招)...
  17. Jenkins - Publish Over SSH
  18. 在我的垃圾电脑上U盘安装ubuntu单系统
  19. 打造健康的程序员-饮食篇
  20. int int int * int**的区别、联系和用途

热门文章

  1. PHP调用微信发放现金红包接口
  2. Layer单选框非空校验注意
  3. Exception in thread “main“ java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibilit
  4. 编程基本功:即使是脚本,也尽量减少硬代码,都使用变量
  5. LINUX终端可以使用reset清除所有输出
  6. fatal error: alsa/asoundlib.h: 没有那个文件或目录
  7. 错误一例:expected expression before } token
  8. JAVA:文本文件读写使用Reader/Writer,二进制文件使用InputStream/OutputStream
  9. VS2010:外部依赖目录错误,怎么办
  10. 纽微特记事:发火说产品差,业务开展不了,怎么不找自已的问题