题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1034

题解:
  很明显的贪心,读过田忌赛马的典故就很容易能想出来,分成三种情况讨论:

  <1>如果A队实力最强的选手比B队实力最强的选手强,就比一场;

  <2>如果A队实力最弱的选手比B队实力最弱的选手强,就比一场;

  <3>如果上述情况都不行,就直接用A队实力最弱的选手和B队实力最强的选手比一场;

  先把浙江队当成A队,对手当成B队,算出最大得分;

  再反过来算出最小得分即可

  1. #include<cstdio>
  2. #include<algorithm>
  3. using namespace std;
  4. #define MAXN 100010
  5. int n,a[MAXN],b[MAXN],ans;
  6. int main()
  7. {
  8. scanf("%d",&n);
  9. for(int i=;i<=n;i++)scanf("%d",&a[i]);
  10. for(int i=;i<=n;i++)scanf("%d",&b[i]);
  11. sort(a+,a++n);
  12. sort(b+,b++n);
  13. int l1=,l2=,r1=n,r2=n;
  14. while(l1<=r1&&l2<=r2)
  15. {
  16. if(a[l1]>b[l2])
  17. {
  18. ans+=;
  19. l1++;
  20. l2++;
  21. }
  22. else if(a[r1]>b[r2])
  23. {
  24. ans+=;
  25. r1--;
  26. r2--;
  27. }
  28. else
  29. {
  30. if(a[l1]==b[r2])ans++;
  31. l1++;
  32. r2--;
  33. }
  34. }
  35. printf("%d ",ans);
  36. ans=;
  37. l1=;
  38. l2=;
  39. r1=n;
  40. r2=n;
  41. while(l1<=r1&&l2<=r2)
  42. {
  43. if(b[l1]>a[l2])
  44. {
  45. ans+=;
  46. l1++;
  47. l2++;
  48. }
  49. else if(b[r1]>a[r2])
  50. {
  51. ans+=;
  52. r1--;
  53. r2--;
  54. }
  55. else
  56. {
  57. if(b[l1]==a[r2])ans++;
  58. l1++;
  59. r2--;
  60. }
  61. }
  62. printf("%d\n",*n-ans);
  63. return ;
  64. }

bzoj 1034 泡泡堂BNB的更多相关文章

  1. BZOJ 1034 泡泡堂BNB 贪心+简单博弈

    同样是今天做bzoj时做到的,感觉能力范围之内的就做了,也是蛮简单的 1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MB Su ...

  2. BZOJ [ZJOI2008]泡泡堂BNB 贪心

    [ZJOI2008]泡泡堂BNB Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/proble ...

  3. BZOJ 1034 泡泡堂

    贪心可过.原来浙江省选也不是那么难嘛.. 作者懒,粘的题解.此题类似于田忌赛马的策略,只要站在浙江队一方和站在对手一方进行考虑即可. #include<iostream>#include& ...

  4. 【BZOJ】【1034】【ZJOI2008】泡泡堂BNB

    贪心 类似田忌赛马策略的一个贪心= = 随便YY了一个做法居然A了…… 简单来说就是先强对强,弱对弱,能赢就赢,不能赢就让弱的那个去对强的那个,剩下的人继续依次捉对比赛(继续刚刚的策略),现在人数还是 ...

  5. bzoj 1034: [ZJOI2008]泡泡堂BNB 貪心

    1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1398  Solved: 727[Submit][Sta ...

  6. BZOJ 1034 [ZJOI2008]泡泡堂BNB

    1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1757  Solved: 928[Submit][Sta ...

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

    贪心...用最弱的赢最弱的,用最强的赢最强的,否则用最弱的和最强的比... (贴个官方题解:将双方的选手均按从强到弱排序,然后第一次扫描尽可能用当前剩下的选手中能赢对手当前最强选手中最弱的一个去赢得胜 ...

  8. 1034: [ZJOI2008]泡泡堂BNB

    1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3234  Solved: 1655[Submit][St ...

  9. bzoj千题计划122:bzoj1034: [ZJOI2008]泡泡堂BNB

    http://www.lydsy.com/JudgeOnline/problem.php?id=1034 从小到大排序后 最大得分: 1.自己最小的>对方最小的,赢一场 2.自己最大的>对 ...

随机推荐

  1. [NOI2014]魔法森林 LCT

    题面 [NOI2014]魔法森林 题解 一条路径的代价为路径上的\(max(a[i]) + max(b[i])\),因为一条边同时有$a[i], b[i]$2种权值,直接处理不好同时兼顾到,所以我们考 ...

  2. Luogu 1429 平面最近点对 | 平面分治

    Luogu 1429 平面最近点对 题目描述 给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的 输入输出格式 输入格式: 第一行:n:2≤n≤200000 ...

  3. HDU.1796 How many integers can you find ( 组合数学 容斥原理 二进制枚举)

    HDU.1796 How many integers can you find ( 组合数学 容斥原理 二进制枚举) 题意分析 求在[1,n-1]中,m个整数的倍数共有多少个 与 UVA.10325 ...

  4. 理解 OAuth 2.0

    理解OAuth 2.0 http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 一.简介 OAuth是一个关于授权(authorization)的开 ...

  5. C++ strcat(template版本)

    template<unsigned N, unsigned M> inline std::shared_ptr<char> strcat(const char (&p1 ...

  6. Service Fabric —— Stateful Service 概念

    作者:潘罡 (Van Pan) @ Microsoft 上节中我们谈到了Service Fabric最底层的两个概念,一个是针对硬件层面而言的Node Type和Node.另一个是Applicatio ...

  7. python的map函数的使用方法详解以及使用案例(处理每个元素的自增、自减、平方等)

    1.用我们之前学过的求一下平方(只有一个列表) #求平方 num=[1,5,6,2,7,8] a=[] for n in num: a.append(n**2) print (a) C:\python ...

  8. Go_20: Golang 中 time 包的使用

    time包中包括两类时间:时间点(某一时刻)和时常(某一段时间) 1. 时间常量(时间格式化) const ( ANSIC = "Mon Jan _2 15:04:05 2006" ...

  9. mysql 对应 binlog 查看

    什么是 binlog binlog,即二进制日志,它记录了数据库上的所有改变. 改变数据库的SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕. binlog格 ...

  10. nc命令的常用参数介绍

    nc命令的常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必做运维的应该在网络安全上都对一些开源软件都应该是相当的了解吧,比如tcpdump,namp等神奇,今天要给 ...