[ZJOI2008]泡泡堂BNB

这个题。。。是一道神奇的贪心题。。。
根据田忌赛马的原理。。。
先假使两队都符合田忌和齐王的配置。。。
我们可以发现如果我们用当前最弱的。。。去和对方当前最强的打。。。
然后一直按照这个方案。。。当我方最强的能打过对方最强的时候。。。
在用我方当前最强的。。。和对方当前最强的。。。打。。。
我们就能得到最多的分数了。。。
但这里并不完全符合这种配置。。。
那么我们可以考虑。。。如果我方最弱的。。。能打过对方最弱的。。。
这种情况是不是该优先考虑呢???
答案是肯定的。。。这里就不多做证明了。。。大佬们肯定能想出来。。。
至于最低分。。。反过来就行了。。。
代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#define maxn 100010
using namespace std; int n,own[maxn],foe[maxn]; inline void best()
{
int ans=;
int head1=,tail1=n;
int head2=,tail2=n;
while(head1<=tail1)
{
if(own[head1]>foe[head2])
{
ans+=;
head1++,head2++;
}
else if(own[tail1]>foe[tail2])
{
ans+=;
tail1--,tail2--;
}
else
{
if(own[head1]==foe[tail2])
ans++;
head1++,tail2--;
}
}
printf("%d ",ans);
} inline void wost()
{
int ans=;
int head1=,tail1=n;
int head2=,tail2=n;
while(head1<=tail1)
{
if(own[head1]<foe[head2])
head1++,head2++;
else if(own[tail1]<foe[tail2])
tail1--,tail2--;
else
{
ans+=own[tail1]>foe[head2] ? :;
tail1--; head2++;
}
}
printf("%d",ans);
} int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%d",&own[i]);
for(int i=;i<=n;i++) scanf("%d",&foe[i]);
sort(own+,own++n);
sort(foe+,foe++n);
best();
wost();
}
呆码
[ZJOI2008]泡泡堂BNB的更多相关文章
- ZJOI2008泡泡堂BNB
1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1305 Solved: 676[Submit][Sta ...
- BZOJ [ZJOI2008]泡泡堂BNB 贪心
[ZJOI2008]泡泡堂BNB Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/proble ...
- bzoj 1034: [ZJOI2008]泡泡堂BNB 貪心
1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1398 Solved: 727[Submit][Sta ...
- BZOJ 1034 [ZJOI2008]泡泡堂BNB
1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1757 Solved: 928[Submit][Sta ...
- BZOJ 1034: [ZJOI2008]泡泡堂BNB( 贪心 )
贪心...用最弱的赢最弱的,用最强的赢最强的,否则用最弱的和最强的比... (贴个官方题解:将双方的选手均按从强到弱排序,然后第一次扫描尽可能用当前剩下的选手中能赢对手当前最强选手中最弱的一个去赢得胜 ...
- 1034: [ZJOI2008]泡泡堂BNB
1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3234 Solved: 1655[Submit][St ...
- bzoj千题计划122:bzoj1034: [ZJOI2008]泡泡堂BNB
http://www.lydsy.com/JudgeOnline/problem.php?id=1034 从小到大排序后 最大得分: 1.自己最小的>对方最小的,赢一场 2.自己最大的>对 ...
- BZOJ1034 [ZJOI2008]泡泡堂BNB 【贪心】
1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MB Submit: 3531 Solved: 1798 [Submit][ ...
- [BZOJ1034][ZJOI2008]泡泡堂BNB 贪心
1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MB Submit: 3414 Solved: 1739 [Submit][ ...
- 【题解】BZOJ1034 [ZJOI2008]泡泡堂BNB(贪心)
[题解]BZOJ1034 [ZJOI2008]泡泡堂BNB(贪心) 考虑直接模拟田忌赛马... 我的最小比你的大,直接上 我的最大比你的大,直接上 otherwise,我小换你大 考虑最劣,由于每次比 ...
随机推荐
- Getting Started with Processing 第五章的总结
Getting Started with Processing 第五章:响应 一次与永久 setup()函数 Processing 中,setup()函数只运行一次,用于设置一些初始的值,比如画布的大 ...
- 获取在线python 文档
window cmd :python -m pydoc -p 8888
- Merge K Sorted List(含Merge Two Sorted LIst) leetcode java
问题描述: Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complex ...
- 『MXNet』第七弹_多GPU并行程序设计
资料原文 一.概述思路 假设一台机器上有个GPU.给定需要训练的模型,每个GPU将分别独立维护一份完整的模型参数. 在模型训练的任意一次迭代中,给定一个小批量,我们将该批量中的样本划分成份并分给每个G ...
- HDU-4587-tarjin/割点
http://acm.hdu.edu.cn/showproblem.php?pid=4587 给出一幅无向图,问除去两个点之后子图的最大联通分量个数. 考虑每次ban一个点然后跑一遍tarjin统计下 ...
- The Doors
The Doors You are to find the length of the shortest path through a chamber containing obstructing w ...
- noip2016组合数问题
题目描述 组合数 Cnm 表示的是从 n 个物品中选出 m 个物品的方案数.举个例子,从 (1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3) 这三种选择方法.根据组合数的 ...
- Java中关键字this、super的含义及使用
Java语言中this的含义及作用: 关键字this用来指向当前实例对象(内存里正在运行的哪个实例对象),它的另一作用是用来区分对象的成员变量与方法的形参. 关键字super指的是当前对象里边的父对象 ...
- qt 调用zlib压缩与解压缩功能
Zlib是一种免费且通用的压缩库,由于Zlib压缩效果比LZW好,而且解压缩速度快,更重要的是商业软件中使用Zlib不需要缴纳版权费,所以很多游戏都使用Zlib压缩资源文件. Zlib是由Jean-l ...
- Linux网卡性能查看(CentOS)
一.ethtool查看网卡带宽 ethtool eth0 #eth0为网卡名,使用ifconfig查看当前使用的网卡 Speed表示网卡带宽,Duplex表示工作模式,Supported link m ...