【贪心】田忌赛马题解
题目描述
田忌准备和齐王赛马,各自拿出的比赛马匹数是n个,胜负由每匹马的速度决定,田忌可 以自由选择自己的马和齐王的比赛,田忌赢一次赏金加50,输一次赏金赔50,田忌赚的 钱最低为0,求田忌最多能赚多少钱?
输入:
多行测试数据,每行包含一个整数n和2n个正整数,第一个n表示比赛马的数量,之后的n个整数表示齐王马的速度,此行最后n个整数表示田忌马的速度。
样例输入:
3 2 1 3 2 2 3
3 2 1 3 1 1 3
样例输出:
50
0
分析
- 如果田忌的最快马快于齐王的最快马,则两者比赛一场。这是因为若是田忌的别的马可能就赢不了,所以两者比赛。
- 如果田忌的最快马慢于齐王的最快马,则用田忌的最慢马和齐王的最快马比赛一场。这是因为所有的马都赢不了齐王的最快马,所以用损失最小的,拿最慢的和他比。
- 若田忌的最快马和齐王的最快马一样快,则比较田忌的最慢马和齐王的最慢马。分成两种情况:
(1)若田忌的最慢马快于齐王的最慢马,田忌的最慢马和齐王的最慢马比。因为田忌的最慢马既然能赢一个就赢一个,而且齐王的最慢马肯定也得有个和它比,所以选比齐王的最慢马快的最慢马与其比,避免浪费。
(2)否则就拿田忌的最慢马和齐王的最快马比。因为反正所有的马都比田忌的最慢马快,所以这匹马必输,选贡献最大的比掉齐王的最快马。
AC代码
//普通算法
#include <iostream>
#include <algorithm>
using namespace std;
int cmp(const int a, const int b)
{return a < b;
}
int main(void)
{int n;while(cin>>n){int a[100]={0}, b[100]={0}, min1=0, min2=0, max1=n-1, max2=n-1, res=0, cnt=0;for(int i=0; i<n; i++)cin>>a[i];for(int i=0; i<n; i++)cin>>b[i];sort(a, a+n, cmp);sort(b, b+n, cmp);while((cnt++)<n){if(b[max2]>a[max1]){res += 50;max1--;max2--;}else if(b[max2]<a[max1]){res -= 50;max1--;min2++;}else{if(b[min2]>a[min1]){res += 50;min1++;min2++;}if(b[min2]<a[min1]){res -= 50;min1--;min2--;}}}cout<<res<<endl;}return 0;
}
有空再更动态规划算法。
欢迎大家光临我的博客——>博客传送门。
【贪心】田忌赛马题解相关推荐
- NOI题库刷题日志 (贪心篇题解)
这段时间在NOI题库上刷了刷题,来写点心得和题解 一.寻找平面上的极大点 2704:寻找平面上的极大点 总时间限制: 1000ms 内存限制: 65536kB 描述 在一个平面上,如果有两个点( ...
- Tyvj P1048 田忌赛马 题解
像我这种蒟蒻就非常适合做一些辣鸡题,比如一些简单的贪心题,今天偶遇田忌赛马,于是我就非常轻(费)松(力)地搞定了这道题. 题目: 时间: 1000ms / 空间: 131072KiB 描述 中国古代的 ...
- leetcode 贪心_leetcode题解(贪心算法)
定义 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择. 也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解. 通常贪心算法的代码会非常短而且思路也非常 ...
- 蓝桥杯算法训练KAc给糖果贪心-python题解
KAC给糖果(贪心) 问题描述 kAc有n堆糖果,每堆有A[i]个. kAc说你只能拿m次糖果,聪明的你当然想要拿最多的糖果来吃啦啦啦~ //第二天,kAc问你还想吃糖果么?(嘿嘿嘿)说着眼角路出奇怪 ...
- ZOJ 3829 Known Notation(贪心)题解
题意:给一串字符,问你最少几步能变成后缀表达式.后缀表达式定义为,1 * 1 = 1 1 *,题目所给出的字串不带空格.你可以进行两种操作:加数字,交换任意两个字符. 思路:(不)显然,最终结果数字比 ...
- hdu 6301 Distinct Values(贪心)题解
题意:长为n的串,给你m个区间,这些区间内元素不重复,问这样的串字典序最小为? 思路:用set保存当前能插入的元素,这样就能直接插入最小元素了.对操作按l排序,因为排过的不用排,所以两个指针L,R是一 ...
- POJ - 3614 Sunscreen(贪心/二分图最大匹配-多重匹配/网络流-最大流)
题目链接:点击查看 题目大意:给出n头奶牛,奶牛们现在要晒太阳,每头奶牛需要[l,r]区间内的光照强度,现在有m种防晒霜,每种防晒霜可以让奶牛接受到val数值的光照强度,然后每种防晒霜只有num个,现 ...
- HDU 5281 Senior's Gun (贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5281 贪心题目,但是看看我的博客里边相关贪心的题解实在是少的可怜,这里就写出来供大家一起探讨. 题意还 ...
- 第十届蓝桥杯省赛题解+代码
文章目录 组队(5分)(暴力) 年号字符(5分) 题解 AC 数列求值(10分)(递推) 题解 AC 数的分解(10分)(暴力) 题解 AC 迷宫(15分)(BFS) 题解 AC代码 特别数的和(15 ...
最新文章
- Apache Hook机制解析(中)——细节讨论
- 055_Descriptions描述列表
- 计算机专业技能考核方案,计算机专业技能课教学目标考核方案教程.doc
- 1023:坑爹的黑店
- python 最快 因式分解_Python实现的对一个数进行因式分解操作示例
- 中国移动云智融合峰会 | 1+1>2, 引领创新发展
- xcode w情ndows版,xcode Windows版安装使用介绍
- 一个SPS + K2 + InfoPath + Mobile + Exchange的工作流程演示系统
- 非中国服务器的时区问题
- 怎么检测不到我的音频_新专利显示未来的AirPods可能会检测手势 并具有旋转式音量控制功能...
- webservice发布及远程调用
- Delphi创建ActiveX控件,实现安全接口及无界面代码
- python通过什么对象连接数据库_Python(十一)数据库连接
- 查看mysql宕机原因_记录一次mysql宕机的解决办法
- 我的计算机制作幻灯片在哪,如何制作幻灯片呢?具体的步骤能教教我嘛?
- How to Install Nvidia Kernel Module Cuda and Pyrit in Kali Linux
- 印章识别--笛卡尔坐标系转换成极坐标系
- 了解【泰科】协作机器人产品资料大全
- 每日加瓦,终成栋房4-final、内部类、权限修饰符
- 铅酸电池三段式充电过程
热门文章
- 【微课制作软件】Focusky教程 | 怎样改变图片形状?
- 「Adobe国际认证」广告牌的设计也可以引人注目,但需接受这些设计建议
- 2008年8月22日
- 有趣的汉语:同音文(二):《施氏食狮史》
- 测量50A以上电流:意瑞隔离集成式电流传感器CH704
- 云栖谷楼盘沙盘_云栖谷图片相册,户型图,样板间图,装修效果图,实景图-长沙房天下...
- 使用第三方软件爬取微博关键字
- 一碗小米粥里的商业故事
- VBA提高篇35 VBA操作Word/PPT/Access_CreateObject/GetObject
- 一招解决BS转CS模式:浏览终端开发-Electron集成打包、本地配置文件及自动更新