
训练指南第一章
BEconfidence
坚持才是胜利之道
展开
-
11292 - Dragon of Loowater
例题1 勇者斗恶龙(The Dragon of Loowater, UVa 11292)你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头)。村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉恶龙一个直径不超过x的头,且需要支付x个金币。如何雇佣骑士才能砍掉恶龙的所有头,且需要支付的金币最少?注意,一个骑士只能砍一个头(且不能被雇佣两次)。【输入格式】原创 2015-04-27 23:39:12 · 936 阅读 · 3 评论 -
11729 - Commando War
【题目翻译】:【思路】:贪心算法:处理时间长的先交代。按照J从大到小的顺序给任务排序,依次交代。#include#includetypedef struct Time{ int B; int J;}Time;int cmp(const void *a,const void *b){ struct Time * c = (Time原创 2015-04-28 00:03:15 · 852 阅读 · 1 评论 -
《算法竞赛入门经典——训练指南》第一章算法分类
问题求解策略 (General Problem Solving Techniques)例题 (Examples) 例题 1UVa11292The Dragon of Loowater排序后用贪心法 例题 2UVa11729Commando War用贪心法求最优排列;用“相邻交换法”证明正确性原创 2015-04-27 23:44:31 · 1065 阅读 · 0 评论 -
11300 - Spreading the Wealth
(解方程建模+中位数求最短累积位移)分金币(Spreading the Wealth, UVa 11300) 圆桌旁坐着n个人,每人有一定数量的金币,金币总数能被n整除。每个人可以给他左右相邻的人一些金币,最终使得每个人的金币数目相等。你的任务是求出被转手的金币数量的最小值。比如,n=4,且4个人的金币数量分别为1,2,5,4时,只需转移4枚金币(第3个人给第2个原创 2015-04-28 00:36:49 · 622 阅读 · 0 评论