2011年9月22日
摘要: 题目:The trouble of Xiaoqian题意:有N种coin,给出每种coin的价值Vi,和小强拥有的个数Ci,小强去购物,要付m元,求小强和店员间交换货币时的最小个数货币,即小强付出coin个数加上店员找回coin个数。解题思路:背包题,先用二进制思想把coin合并成和种不同价值的货币,再进行01背包。View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <string> 4 #include <cstring> 5 #include <algorithm 阅读全文
posted @ 2011-09-22 19:11 Kenfly 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 题目:Information Disturbing题意:给出一棵树,和每条边的cost值,设置一个界限,要求切断所有叶子结点,切断的边的cost不能超过界限值,并且切断的边的总和不能超过m,求出这个最小界限值。解题思路:很明显的一道树型DP,DP[v],表示切断根结点的v的子树的最小花费,那么这个界限怎么处理呢,由于界限值范围要比总和m小得多,才1-1000,可以用二分枚举,这样在选择切边时可以根据这个枚举值进行判断处理。每个结点v,设其儿子结点为x1,x2,x3...则DP[v] = Min{DP[x1],Node[x1].cost} + Min{DP[x2], Node[x2].cost} 阅读全文
posted @ 2011-09-22 18:59 Kenfly 阅读(289) 评论(0) 推荐(0) 编辑