
Algorithm_Greedy
文章平均质量分 63
pandening
我很笨,但我很勤劳!
展开
-
poj 3617
/* poj 3617 best cow line 题意为给定长度为N的字符串S,需要构造出长度为N的字符串T,开始的时候T是一个空串 随后只能反复从S的开始或者结尾的地方取一个字符接到T的末尾,要求是根据这个规则 构造出字典序尽可能小的字符串T 算法设计:每次都比较末尾和开头的字符,如果不想等,则选择字典序较小的那个字符 接到T的末尾,这样构造出来的原创 2015-04-02 22:18:12 · 767 阅读 · 1 评论 -
poj 3253 fence repair
/* poj 3253 fence repair 题意是说有一个人想要修东西,需要去将一根木头砍成N 段长度指定的木头,现在给定这根木头需要的长度集合 问最少花费是多少 算法设计:贪心的去选择较短的合成,每次都选择最短的两条 最后合成一根木头,也就是还原成原来的总长度*/#include#include#includeusing namespac原创 2015-04-02 22:50:43 · 526 阅读 · 0 评论 -
贪心算法设计 关于区间选择问题
/* 现在有n项工作,知道每一项工作的开始时间和结束时间,问最多可以选择多少工作 算法设计:贪心算法,不断选择不冲突的那些结束时间最短的工作*/#include#include#define max_n 100001using namespace std;int N;//first is the start of the job,and the secone is原创 2015-04-02 21:54:26 · 524 阅读 · 0 评论 -
贪心算法设计 之最少硬币数目
//题目描述:现在有1元,5元,10元,50元,100元,500元的硬币各c1,c2...c6枚//现在需要去付钱数为A元,问,至少需要多少枚硬币//算法:只需要不断选择面值大的硬币就可以了,因为问题保证有解#include#include#includeusing namespace std;int A, v[6] = { 1, 5, 10, 50, 100, 500 }, c[6原创 2015-04-02 21:40:45 · 955 阅读 · 0 评论 -
poj 3069
/* 直线上有N个点,点x的位置是xi(距最左端),现在要加上标记 对于每个点,要求是在一个为R的圆的范围内需要一个点被标记 问最少需要标记多少个点 算法设计: 贪心算法设计 从左端第一点开始,距离其最远的不超过R的那个点加上标记,然后将那个 被标记的点当作第一个点,向后找那个距离其最远的不超过R的那个点,然后 加上标记,一直这样做下去直到覆盖原创 2015-04-02 22:38:11 · 592 阅读 · 0 评论