LA 3266 (贪心) Tian Ji -- The Horse Racing
题意:
田忌和齐王各有n匹马,如果马的速度比齐王的快就赢200,慢则输200,相等不赔不赚。
已知两人每匹马的速度(为整数)和齐王所排出的马的顺序,问田忌该如何应对才能使收益最大。
分析:
本以为是一道很简单的贪心,上来就贪,结果什么都没贪出来。
看了题解才发现贪心是比较复杂的。
这里贴上poj某牛的神分析。
- 贪心策略:
- 1,如果田忌的最快马快于齐王的最快马,则两者比。
- (因为若是田忌的别的马很可能就赢不了了,所以两者比)
- 2,如果田忌的最快马慢于齐王的最快马,则用田忌的最慢马和齐王的最快马比。
- (由于所有的马都赢不了齐王的最快马,所以用损失最小的,拿最慢的和他比)
- 3,若相等,则比较田忌的最慢马和齐王的最慢马
- 3.1,若田忌最慢马快于齐王最慢马,两者比。
- (田忌的最慢马既然能赢一个就赢呗,而且齐王的最慢马肯定也得有个和他比,所以选最小的比他快得。)
- 3.2,其他,则拿田忌的最慢马和齐王的最快马比。
- (反正所有的马都比田忌的最慢马快了,所以这匹马必输,选贡献最大的,干掉齐王的最快马)
- #include <cstdio>
- #include <algorithm>
- using namespace std;
- const int maxn = + ;
- int tian[maxn], king[maxn];
- int main(void)
- {
- //freopen("3266in.txt", "r", stdin);
- int n;
- while(scanf("%d", &n) == && n)
- {
- for(int i = ; i < n; ++i) scanf("%d", &tian[i]);
- for(int i = ; i < n; ++i) scanf("%d", &king[i]);
- sort(tian, tian + n);
- sort(king, king + n);
- int thead = , khead = ;
- int ttail = n-, ktail = n-;
- int win = ;
- while(n--)
- {
- if(tian[ttail] > king[ktail]) //如果田忌的最快马快于齐王的最快马,则两者比。
- {
- ttail--;
- ktail--;
- win++;
- }
- else if(tian[ttail] < king[ktail]) //如果田忌的最快马慢于齐王的最快马,则用田忌的最慢马和齐王的最快马比。
- {
- thead++;
- ktail--;
- win--;
- }
- else //若相等,则比较田忌的最慢马和齐王的最慢马
- {
- if(tian[thead] > king[khead]) //若田忌最慢马快于齐王最慢马,两者比。
- {
- thead++;
- khead++;
- win++;
- }
- else //其他,则拿田忌的最慢马和齐王的最快马比。
- {
- if(tian[thead] < king[ktail]) win--;
- thead++;
- ktail--;
- }
- }
- }
- printf("%d\n", win * );
- }
- return ;
- }
代码君
LA 3266 (贪心) Tian Ji -- The Horse Racing的更多相关文章
- 【贪心】[hdu1052]Tian Ji -- The Horse Racing(田忌赛马)[c++]
Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...
- HDU 1052 Tian Ji -- The Horse Racing【贪心在动态规划中的运用】
算法分析: 这个问题很显然可以转化成一个二分图最佳匹配的问题.把田忌的马放左边,把齐王的马放右边.田忌的马A和齐王的B之间,如果田忌的马胜,则连一条权为200的边:如果平局,则连一条权为0的边:如果输 ...
- HDU 1052 Tian Ji -- The Horse Racing (贪心)(转载有修改)
Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
- HDU 1052:Tian Ji -- The Horse Racing(贪心)
Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav ...
- hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马】 【贪心】
思路:先按从小到大排序, 然后从最快的開始比(如果i, j 是最慢的一端, flag1, flag2是最快的一端 ),田的最快的大于king的 则比較,如果等于然后推断,有三种情况: 一:大于则比較, ...
- 【OpenJ_Bailian - 2287】Tian Ji -- The Horse Racing (贪心)
Tian Ji -- The Horse Racing 田忌赛马,还是English,要不是看题目,我都被原题整懵了,直接上Chinese吧 Descriptions: 田忌和齐王赛马,他们各有n匹马 ...
- POJ-2287.Tian Ji -- The Horse Racing (贪心)
Tian Ji -- The Horse Racing Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 17662 Acc ...
- hdu_1052 Tian Ji -- The Horse Racing 贪心
Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
- Hdu 1052 Tian Ji -- The Horse Racing
Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
随机推荐
- Python环境搭建和开发工具的配置
本文转自http://237451446.blog.51cto.com/2307663/766781 因为要学习python了,第一步当然是环境搭建和开发工具的配置了,下边开始了. 我的开发环境是在w ...
- iOS上用FTGL显示定制Truetype字体碰到的问题
没想到这个问题搞了快2个月时间:当然跟我只是断断续续地工作有关. FTGL是freetype的opengl实现.我接触FTGL最初只是为了练习OpenGL,写几个简单的游戏app.开始试了试FTGL觉 ...
- php中的性能挖掘
搞php以后,感觉总是很别扭,因为我觉得php会很慢,因为array普遍,在Key的循环查找不是很浪费性能么!因为我以前搞.net和java,他们是用的大多是寻址和索引方式,而php中太多是使用Key ...
- 移动端页面使用rem来做适配
文/九彩拼盘(简书作者)原文链接:http://www.jianshu.com/p/eb05c775d3c6著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. rem介绍 rem(font ...
- Reactjs相比较原生方案是绝对的快吗?哪些情况下React有优势
作者:尤雨溪链接:http://www.zhihu.com/question/31809713/answer/53544875来源:知乎著作权归作者所有,转载请联系作者获得授权. 1. 原生 DO ...
- [CFgym]2015-2016 ACM-ICPC Pacific Northwest Regional Contest小结
*感谢两位浙江大佬带我飞 贴下成绩 div2 div1 *div2不是我打的上个厕所就5/11了 比赛小结 A [题目大意] 有n(n<=500)个机场,两两之间距离是g[i][j],每经停一个 ...
- WCF 基础
ServiceModel 配置元素 Binding 配置元素: 客户端Web.config: <?xml version="1.0" encoding="utf-8 ...
- 【机器学习】BP神经网络实现手写数字识别
最近用python写了一个实现手写数字识别的BP神经网络,BP的推导到处都是,但是一动手才知道,会理论推导跟实现它是两回事.关于BP神经网络的实现网上有一些代码,可惜或多或少都有各种问题,在下手写了一 ...
- QualityCenter10+Oracle10.2.1.0.1+Win2003SP2企业版安装步骤
HpQualityCenter10+Oracle10.2.1.0.1+Win2003SP2企业版安装步骤: 1.点击setup.exe,等待,知道出现以下界面,然后按“下一步” 2.出现如下界面,接受 ...
- SDUT2141数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2141&cid=1186 #include<cstdio> #include& ...