洛谷P2587 [ZJOI2008] 泡泡堂
题目传送门
分析:一道策略游戏题,要求最大期望得分和最小期望得分。首先分析最大,很显然是可以用一种类似于田忌赛马的思维来做,将两队的实力按照从大到小(其实从小到大也可以)排序,然后就按照顺序比较,可能会出现以下几种情况:
我方最大>对方最大,则用我方最大对抗对方最大
我方最小>对方最小,则用我方最小对抗对方最小
如果以上两种情况都不满足,则用我方最小去对抗对方最大,为我方最大争取机会。
这个正确性应该不难证明,那么最大的得分就这么A(shui)掉了;
再看最小得分,发现直接求最小得分并不容易,那么转换一下思维,求最大失分,再用2n-最大失分,正确性易证。那么求最大失分思维就和上面一样,只需转换一下:
我方最大<对方最大,则用我方最大对抗对方最大
我方最小<对方最小,则用我方最小对抗对方最小
如果以上两种情况都不满足,则比较我方最大与对方最小,如果相等,则失一分,否则不失分。
然后,这题就这样水过去了!
Code:
//It is made by HolseLee on 7th Apr 2018 //Luogu.org P2587 #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<iostream> #include<iomanip> #include<algorithm> using namespace std; const int N=1e5+7; int n,a[N],b[N]; int ans,hm,tm,he,te; inline int read() {char ch=getchar();int num=0;bool flag=false;while(ch<'0'||ch>'9'){if(ch=='-')flag=true;ch=getchar();}while(ch>='0'&&ch<='9'){num=num*10+ch-'0';ch=getchar();}return flag?-num:num; } bool cmp(int x,int y) {return x>y;} int main() {n=read();for(int i=1;i<=n;i++)a[i]=read();for(int i=1;i<=n;i++)b[i]=read();sort(a+1,a+n+1,cmp);sort(b+1,b+n+1,cmp);tm=te=n;hm=he=1;while(hm<=tm){if(a[hm]>b[he])ans+=2,hm++,he++;else if(a[tm]>b[te])ans+=2,tm--,te--;else ans+=(a[tm]==b[he]),he++,tm--;}printf("%d ",ans);hm=he=1;tm=te=n;ans=0;while(hm<=tm){if(a[hm]<b[he])ans+=2,hm++,he++;else if(a[tm]<b[te])ans+=2,tm--,te--;else ans+=(a[hm]==b[te]),hm++,te--;}printf("%d",2*n-ans);return 0; }
转载于:https://www.cnblogs.com/cytus/p/8819556.html
洛谷P2587 [ZJOI2008] 泡泡堂相关推荐
- 洛谷P2587 [ZJOI2008]泡泡堂
传送门 1368 泡泡堂 省队选拔赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题解 题目描述 Description 第XXXX届NOI期间,为了加 ...
- luogu P2587 [ZJOI2008]泡泡堂
题目描述 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂.每一场比赛前,对阵双方的教练向组 ...
- P2587 [ZJOI2008]泡泡堂 神仙贪心
思路:贪心 提交:1次(看了题解$QwQ$) 题解: 若我方最弱可以干掉对方最弱,则干: 否则若我方最强可以干掉对方最强,则干: 否则若我方最弱与对方最强平手,则平: 其实貌似一二条是可以互换的,主要 ...
- bzoj 1034: [ZJOI2008]泡泡堂BNB(贪心)
1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MB Submit: 3341 Solved: 1708 [Submit][ ...
- BZOJ1034 [ZJOI2008]泡泡堂BNB 【贪心】
1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MB Submit: 3531 Solved: 1798 [Submit][ ...
- 【BZOJ】1034: [ZJOI2008]泡泡堂BNB(贪心)
http://www.lydsy.com/JudgeOnline/problem.php?id=1034 弱的比弱的强就用,强的比强的强就用: 否则弱的和强的比. 输的情况就是2n-ans(b,a), ...
- 【bzoj1034】[ZJOI2008]泡泡堂BNB 贪心
题目描述 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂.每一场比赛前,对阵双方的教练向组 ...
- [ZJOI2008]泡泡堂(田忌赛马贪心)
problem 洛谷链接 solution 田忌赛马孪生兄弟. 浙江选手最坏情况就是外省最好情况,所以本质上两个子问题是同一个做法. 相信所有人都是读完题后就有田忌赛马的思想了.(如果还没上过小学语文 ...
- Bzoj1034 [ZJOI2008]泡泡堂BNB
Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2935 Solved: 1495 Description 第XXXX届NOI期间,为了加强各省选手 ...
最新文章
- Asp.net MVC2.0系列文章-添加操作
- 项目: 实时钟表(C语言)
- 线程的应用-如何应用多线程
- Visual Studio Code五月版本更新
- stm32看门狗_STM32单片机:独立看门狗、窗口看门狗的配置
- Socket编程模式理解与对比
- oracle--索引的使用
- 字典序的理解以及python实现
- java实现的端口映射器
- 计算机中cpu是指什么意思,CPU是什么?CPU又是什么意思?
- Python操作Excel表格(二)
- 简单的快递管理系统(c语言版)--大一下的总结
- 信号与系统—让我们来了解信号
- c0000005 Access Violation
- 非常有趣有特色的个人博客网站源码
- 【深度学习】什么是扩散模型(Diffusion Models),为什么它们是图像生成的一大进步?...
- 周记(2020.3.22-2020.3.28)
- 2020年《财富》中国500强排行榜数据爬取,看看都有哪些
- Binary String
- 医咖会免费STATA教程学习笔记——简单线性回归
热门文章
- linux下使用nginx搭建集群,CentOS(linux) 下Nginx的安装(Nginx+Tomcat集群第一步)
- docker多个容器一起打包_docker如何将容器打包成镜像
- for each java_Java 实例 - for 和 foreach循环使用
- 焊接件技术要求怎么写_钣金焊接件生锈了怎么办
- android navigation bar高度,Android获取屏幕真实高度包含NavigationBar(底部虚拟按键)
- Linux下部署Tomcat项目笔记
- Linux文本截取命令cut​笔记
- SQL命令大全-中英文对照
- knime如何连接mysql_knime怎么连接MySQL?
- Jest + React Testing Library 单测总结