hdu1052】的更多相关文章

好坑的一道题,不过确实是贪心的一道好题,想了好久一直无法解决平局的情况.  参考了别人的思路,然后结合了自己的想法,总算是想出来了. 这题有些步骤是必须要执行的,有四个步骤 一.当期状态田忌的最慢的马比对手最慢的马快,那么就直接比赢了这一盘,因为对手最慢的马比田忌所有马都慢,田忌为了后面的情况最优就用最小的代价来赢得这一个必胜的局. 二.当前状态田忌最慢的马比对手最慢的马慢,说明田忌最慢的马比对手所有的马慢,对于这个必败的情况田忌自然会用这匹马去耗对手最快的马,所以这局用最慢的马去和对手最快的马…
题目链接:https://cn.vjudge.net/problem/HDU-1052 题意 田忌赛马问题扩展版 给n匹马,马的能力可以相同 问得分最大多少 思路 贪心做得还是太少,一开始一点思虑都没有的 这里稍微总结一下如何打开思路吧 从特殊位置开始考虑是否存在某种必然性,包括不限于序列首尾 若讨论难以进行,试着把这个讨论点展开,换个角度(或者换个特殊位置)讨论 首先排序 其次的关键是讨论尾元素是否必胜或必败,思考贪心 在一个关键是双方尾元素相同时,展开考虑首元素是否必胜或必败,思考贪心 当首…
Tian Ji -- The Horse Racing Problem Description Here is a famous story in Chinese history. "That was about 2300 years ago. General Tian Ji was a high official in the country Qi. He likes to play horse racing with the king and others." "Both…
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:pid=1052">http://acm.hdu.edu.cn/showproblem.php?pid=1052 Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 17346    Acc…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1052 题目大意: 田忌和齐王各有N匹马,判断怎样比赛,使田忌净胜场数最多. 思路: 一开始贪心出错,把每匹马恰好打败稍微比自己差一点的马,后来发现这个贪心策略是错误的,比如这个例子: 80 76 80 75 如果按照之前的贪心策略,第一次80需要打败75.第二次76对战80,净胜场数为0: 但是正确的策略应该是第一次打平局,第二次胜利,净胜场数为1. 正确思路应该是这样: 1.若田忌最慢的马可以战…
链接 [https://vjudge.net/contest/261555#problem/I] 题意 就是两个人都有n匹马,每只马都有战力 第二个人出马的顺序是战力大到小,请问第一个人采取怎样的策略使得自己总的胜场尽可能多 分析 肯定先对二者的战力分别排序 然后就是想尽可能地把第一个人的每只马发挥最大的作用 如果该马不能打败对方的任何一只马就让它尽可能地把对方最强战力的马,搞定 虽然输了但后面也会有更大的可能多赢 所以就从战力最弱的马相比较 如果当前的我最弱的马大于对方最弱的马就直接比掉 得一…
Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Description Here is a famous story in Chinese history. “That was about 2300 years ago. General Tian Ji was a high official in the cou…
#include <iostream>#include<algorithm>#include<queue>#include<stack>#include<cmath>#include<string.h>#include<stdio.h>#include<stdlib.h>using namespace std;#define maxn 2600int a[maxn],b[maxn];int main(){ in…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1052 错误代码: #include<stdio.h>//田忌赛马,错误版 #include<string.h> #include<stdlib.h> /*思路:用田忌最快的马与齐王最快的马比较,1.若能赢就赢:2.若赢不了,就用最差的马拖齐王最好的马入水:3.若打平:要判断是否在最好一匹马, 若是,则打平,若不是,则用最差的一匹马拖它下水,虽然输了这次,但下次有机会赢回.看…
题目大意:田忌赛马问题,给出田忌和齐威王的马的数量$n$和每匹马的速度$v$,求田忌最多赢齐威王多少钱(赢一局得200,输一局扣200,平局不得不扣). 思路:贪心. 1.若田忌最慢的马可以战胜齐王最慢的马,那么就让它战胜那匹慢马,胜利场次加1.(田忌最慢马 > 齐王最慢马) 2.若田忌最慢的马不能战胜齐王最慢的马,那么它更加不能战胜其他的马,那就让它输给齐王最快的马,失败场次加1.(田忌最慢马 < 齐王最快马) 3.若田忌最慢的马与齐王最慢的马速度相等.此时,打平是错误的. 因为自己的快马很…