luogu P1650 田忌赛马 |贪心】的更多相关文章

题目描述 我国历史上有个著名的故事: 那是在2300年以前.齐国的大将军田忌喜欢赛马.他经常和齐王赛马.他和齐王都有三匹马:常规马,上级马,超级马.一共赛三局,每局的胜者可以从负者这里取得200银币.每匹马只能用一次.齐王的马好,同等级的马,齐王的总是比田忌的要好一点.于是每次和齐王赛马,田忌总会输600银币. 田忌很沮丧,直到他遇到了著名的军师――孙膑.田忌采用了孙膑的计策之后,三场比赛下来,轻松而优雅地赢了齐王200银币.这实在是个很简单的计策.由于齐王总是先出最好的马,再出次好的,所以田忌…
题目 如果我们最大比对面最大大,那么直接用. 如果我们最小比对面最小大,那么直接用. 否则用我们最小去换对面最大. #include<bits/stdc++.h> using namespace std; inline int read() { register int x=0; register char c=getchar(); while(c>'9'||c<'0') c=getchar(); while(c>='0'&&c<='9') x=(x&l…
贪心难题:总结贪心问题的一般思路 传送门:$>here<$ 题意 田忌和齐王各有n匹马,赛马时一一对应.赢+200,输-200,平+0. 问最多多少钱? 数据范围:$n \leq 2000$ Solution 如果没有平局 将齐王和田忌的马都按照速度从大到小排序.然后同时从两方最大的开始考虑. 设齐王当前最大的马为x,最小的为y:田忌最大的为a,最小的为b: 若x>a,说明x大于任何田忌的马.此时应当使用b去碰x.证明:如果不使用b,而使用比b更大的马,设为c,去碰x能达到最优解.用c也…
田忌赛马,大致题意是田忌和国王赛马,赢一局得200元,输一局输掉200元,平局则财产不动. 先输入一个整数N,接下来一行是田忌的N匹马,下一行是国王的N匹马.当N为0时结束. 此题为贪心算法解答,有两种思路. 思路二: 1.开始也是先排序,可以使用sort快排: 2.然后将田忌最大的马与国王进行比较: 3.如果田忌最大的马大于国王,那么就胜场++: 4.如果田忌最大的马小于国王,那么就一定会输,所以用田忌最小的马输给国王最大的马: 5.如果田忌最大的马等于国王,那么就比较最小的马: 5.1.如果…
好坑的一道题,不过确实是贪心的一道好题,想了好久一直无法解决平局的情况.  参考了别人的思路,然后结合了自己的想法,总算是想出来了. 这题有些步骤是必须要执行的,有四个步骤 一.当期状态田忌的最慢的马比对手最慢的马快,那么就直接比赢了这一盘,因为对手最慢的马比田忌所有马都慢,田忌为了后面的情况最优就用最小的代价来赢得这一个必胜的局. 二.当前状态田忌最慢的马比对手最慢的马慢,说明田忌最慢的马比对手所有的马慢,对于这个必败的情况田忌自然会用这匹马去耗对手最快的马,所以这局用最慢的马去和对手最快的马…
题意是田忌赛马的背景,双方各有n匹马,下面两行分别是田忌和齐王每匹马的速度,要求输出田忌最大的净胜场数*每场的赌金200. 开始的时候想对双方的马匹速度排序,然后比较最快的马,能胜则胜,否则用最慢的马去消耗对方,但这样存在问题:1 2 3 对 1 3 3的时候,会变成1 - 3,2 - 3,3 - 1,净胜-1场,而实际存在1 - 3,2 - 1,3 - 3的净胜0场的策略: 然后自然想到的是要对平局进行特殊处理,当双方最快的马能战平时,比较最慢马,如果最慢马能胜对方,就用最慢马胜对方,然后让两…
瞎扯 很经典的一道题 考前才打 我太菜了QAQ 就是先贪心排序了好 然后在DP 这样比直接DP更容易理解 (其实这题做法还有很多) 代码 #include<cstdio> #include<cstring> #include<algorithm> #define N 1005 using namespace std; int n,money,t[N],q[N]; int f[N][N]; bool cmp(int a,int b) { return a>b; }…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1052 错误代码: #include<stdio.h>//田忌赛马,错误版 #include<string.h> #include<stdlib.h> /*思路:用田忌最快的马与齐王最快的马比较,1.若能赢就赢:2.若赢不了,就用最差的马拖齐王最好的马入水:3.若打平:要判断是否在最好一匹马, 若是,则打平,若不是,则用最差的一匹马拖它下水,虽然输了这次,但下次有机会赢回.看…
题目描述 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户.螺丝街一共有N家住户,第ii家住户到入口的距离为Si米.由于同一栋房子里可以有多家住户,所以可能有多家住户与入口的距离相等.阿明会从入口进入,依次向螺丝街的X家住户推销产品,然后再原路走出去. 阿明每走1米就会积累1点疲劳值,向第i家住户推销产品会积累Ai点疲劳值.阿明是工作狂,他想知道,对于不同的X,在不走多余的路的前提下,他最多可以积累多少点疲劳值. 输入格式…
题目描述 我国历史上有个著名的故事: 那是在2300年以前.齐国的大将军田忌喜欢赛马.他经常和齐王赛马.他和齐王都有三匹马:常规马,上级马,超级马.一共赛三局,每局的胜者可以从负者这里取得200银币.每匹马只能用一次.齐王的马好,同等级的马,齐王的总是比田忌的要好一点.于是每次和齐王赛马,田忌总会输600银币. 田忌很沮丧,直到他遇到了著名的军师――孙膑.田忌采用了孙膑的计策之后,三场比赛下来,轻松而优雅地赢了齐王200银币.这实在是个很简单的计策.由于齐王总是先出最好的马,再出次好的,所以田忌…