题目链接:BZOJ - 1034

题目分析

这道题和田忌赛马的典故很相似。

先要将两队的队员都按照水平从小到大分别排序。

然后每次尝试用我方最弱的队员赢对方最弱的队员,或者用我方最强的队员赢对方最强的队员。

如果都不行,就用我方最弱的队员对抗对方最强的队员。

这样求出的就是我方的最高分。

由于进行 n 轮比赛之后,双方的比分和为 2n ,所以我方的最低分就是 2n - 对方的最高分。

代码

#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath> using namespace std; const int MaxN = 100000 + 5; int n, Min, Max, Ans;
int A[MaxN], B[MaxN]; inline void Cmp(int x, int y)
{
if (x > y) Ans += 2;
if (x == y) Ans += 1;
} int Solve(int *A, int *B)
{
Ans = 0;
int l1, r1, l2, r2;
l1 = l2 = 1;
r1 = r2 = n;
while (l1 <= r1)
{
if (A[l1] > B[l2]) Cmp(A[l1++], B[l2++]);
else if (A[r1] > B[r2]) Cmp(A[r1--], B[r2--]);
else Cmp(A[l1++], B[r2--]);
}
return Ans;
} int main()
{
scanf("%d", &n);
for (int i = 1; i <= n; ++i) scanf("%d", &A[i]);
for (int i = 1; i <= n; ++i) scanf("%d", &B[i]);
sort(A + 1, A + n + 1);
sort(B + 1, B + n + 1);
printf("%d %d\n", Solve(A, B), 2 * n - Solve(B, A));
return 0;
}

  

[BZOJ 1034] [ZJOI2008] 泡泡堂BNB 【贪心】的更多相关文章

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

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

  2. BZOJ 1034: [ZJOI2008]泡泡堂BNB 贪心+排序

    比较神奇的贪心 有点类似于田忌赛马. 如果我方最弱强于对面最弱,则直接最弱pk最弱. 如果我方最强强于对面最强,那么直接最强间pk. 否则,试着用我方最弱 pk 对方最强,看是否能打成平手. code ...

  3. bzoj 1034 [ZJOI2008]泡泡堂BNB——贪心

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1034 原来觉得和 bzoj4977跳伞求生 有点像(虽然还没做). 所以对于a[ ]从小到大 ...

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

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

  5. BZOJ 1034 [ZJOI2008]泡泡堂BNB

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

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

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1034 [题意] 给两个序列以任意顺序比较,求出最大和最小得分. [思路] 排序后使用贪 ...

  7. bzoj 1034: [ZJOI2008]泡泡堂BNB【贪心】

    是贪心 先把两个数组排序,然后贪心的选让a数组占优的(如果没有就算输),这是最大值,最小值是2n-贪心选b数组占优 #include<iostream> #include<cstdi ...

  8. 1034: [ZJOI2008]泡泡堂BNB

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

  9. [BZOJ1034][ZJOI2008]泡泡堂BNB 贪心

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

随机推荐

  1. 在android客户端加载html源代码总结

    在实际应用中,客户端要从网页上获取数据是常见的事,如果要解析网页上的html文档,那么首先得获取html源码,然后现在一般使用Jsoup来转换成Document文档来进行解析,本文主要讨论如何使用Js ...

  2. CGI与FastCGI 转

    CGI与FastCGI 当我们在谈到cgi的时候,我们在讨论什么 最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html.事物总是不 断 ...

  3. PHP中用PDO方法打开连接关闭mysql数据库

    代码如下: <meta http-equiv="content-type" content="text/html" charset="utf-8 ...

  4. http://bbs.phpcms.cn/thread-266337-1-1.html

    http://bbs.phpcms.cn/thread-266337-1-1.html utf8  改成 ANSI”

  5. 【锋利的jQuery】学习笔记01

    第一章 认识jQuery 一.常见的JS库 Prototype 最早的js库之一.把好用JS方法组合,缺点结构松散. Dojo 离线存储API.生成图标组件.矢量图形库.Comet支持.企业级JS库, ...

  6. gitlab 配置 ssh && ubuntu

    1,在你的电脑上生成密钥ssh-keygen -t rsa -C "youeamil@explode.com" 2,在 ubuntu系统中 ~/.ssh目录中生成了两个文件id_r ...

  7. PHP数组函数相关

    php的数组函数是一个重点,因为在PHP中是一个主要的复合数据类型, 首先是,寻找一个值是否存在一个数组中的函数: array_search — 在数组中搜索给定的值,如果成功则返回相应的键名 mix ...

  8. (转)iOS被开发者遗忘在角落的NSException-其实它很强大

    转载自 http://www.jianshu.com/p/05aad21e319e iOS被开发者遗忘在角落的NSException-其实它很强大 字数597 阅读968 评论4 喜欢28 NSExc ...

  9. c#基础-----数据类型,转义字符,引用类型,类型转换

    数据类型,转义字符,引用类型,类型转换 百度一下

  10. jQuery 效果方法

    jQuery 效果方法 下面的表格列出了所有用于创建动画效果的 jQuery 方法. 方法 描述 animate() 对被选元素应用"自定义"的动画 clearQueue() 对被 ...