[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,我小换你大 考虑最劣,由于每次比 ...
随机推荐
- windows下开启端口映射配置办法
#1.添加一个端口映射 netsh interface portproxy add v4tov4 listenaddress=大网IP listenport=端口 connectaddress=要映 ...
- 停止学习框架(Stop Learning Frameworks)
https://www.cnblogs.com/strick/p/10161733.html
- English Voice of <<See You Again >>
<See You Again >(<当我们再相见>) 演唱:Wiz Khalifa/Charlie Puth 维兹·卡利法/查理·普斯 It's been a long da ...
- codeforces547a
http://codeforces.com/contest/547/problem/A 题意:确定是否在某一时刻高度都同时为a1和a2. step1:找到青蛙首次到a1的时间pri1以及重复到a1的周 ...
- 时钟中断TIMER_BH(bottom_half)实现分析
017-12-6 16:27:35时钟中断TIMER_BH(bottom_half)实现分析1.3.1001. 时钟0号中断安装 setup_x86_irq(0, &irq0);@arc ...
- 小程序模板中data传值有无...
A:<template is="gemSelectColor" data="{{optionData}}" />B:<template is= ...
- sqlite3 查询表
cx = sqlite3.connect("c:/数据库地址") # 打开数据库cu = cx.cursor()# query the tablerows = cu.execute ...
- css 使用率 清楚无用css
- 提高Bash使用效率的方法
环境:centos6.5 1.移动 Ctrl + a :移到命令行首Ctrl + e :移到命令行尾 Ctrl + xx:在命令行首和光标之间移动 左右键移动字符 Ctrl+左右键移动单词(不记快捷键 ...
- Nodejs--util模块
util.inspect util.inspect是一个将任意对象转换 为字符串的方法,通常用于调试和错误输出. 它至少接受一个参数 object,即要转换的对象. util.inspect(obje ...