2013年10月12日
摘要: http://poj.org/problem?id=1260题意 :这个题大概是讲,给你几种等级不同的珠宝,然后告诉你它的数量和价值,等级是升序排列的,且随等级的升高价值也随之升高,但为了防止有的客户只购买一个珍珠,所以无论买哪一种的珍珠必须额外付这个等级珍珠的10倍的价钱,要求买够它给定的珍珠的种数中每一种珍珠的数量的总和,要求花费最小,等级低的可以用等级高的代替掉。思路 : 典型的动态规划,就是求一个最优解嘛,这个题倒不什么难,就是思路对很重要,看了大神的解题报告,0MS,挺好的 。样例解释 : 样例中最开始的2代表的是测试样例的组数,然后是珍珠的种数,等级按升序排列,然后第一组样例中按照 阅读全文
posted @ 2013-10-12 21:40 枫、 阅读(465) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3267题意 : 给你一个message,是给定字符串,然后再给你字典,让你将message与字典中的单词进行匹配,输出要删掉多少字母。思路 : 动态规划问题,不仅要找对公式,还要注意一些细节问题样例解释 : 6是字典里有6个单词,10是给定的字符串的长度,给定的字符串可以与下面的brown和cow匹配,但要删掉两个字母6 10browndcodwcowmilkwhiteblackbrownfarmer#include#include#include#includeusing namespace std ;int main(){ int... 阅读全文
posted @ 2013-10-12 17:55 枫、 阅读(136) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1276题意 : 给你一个目标钱数,再给你钱币的种数和钱币的面值,让你用这些钱凑出不大于目标钱数的钱然后输出这个最接近且不大于目标钱数的钱。思路 : 背包问题,还是多重背包,就是找到公式然后注意一下数组大小,还要小小的注意一下,因为那个钱数的范围挺大的,做一个小小的优化吧也算是 。代码 :#include#include#includeusing namespace std ;struct node{ int n; int d ;} cas[21] ;int main(){ int cash ; int n,ch[11... 阅读全文
posted @ 2013-10-12 15:12 枫、 阅读(155) 评论(0) 推荐(0) 编辑