有1元,5元,10元,50元,100元,500元的硬币各c1,c5,c10,c50,c100,c500枚.
现在要用这些硬币来支付A元,最少需要多少枚硬币?
假定本题至少存在一种支付方案.
0≤ci≤10^9
0≤A≤10^9
输入:
第一行有六个数字,分别代表从小到大6种面值的硬币的个数
第二行为A,代表需支付的A元
样例:
输入
3 2 1 3 0 2 620输出
6说明:1500+250+110+25,共6枚
有n项工作,每项工作分别在si时间开始,在ti时间结束.
对于每项工作,你都可以选择参与与否.如果选择了参与,那么自始至终都必须全程参与.
此外,参与工作的时间段不能重复(即使是开始的瞬间和结束的瞬间的重叠也是不允许的).
你的目标是参与尽可能多的工作,那么最多能参与多少项工作呢?
1≤n≤100000
1≤si≤ti≤10^9
输入:
第一行:n 第二行:n个整数空格隔开,代表n个工作的开始时间 第三行:n个整数空格隔开,代表n个工作的结束时间
样例输入:
5 1 2 4 6 8 3 5 7 9 10样例输出:
3说明:选取工作1,3,5
数轴上有n个闭区间[ai,bi]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)。
看看POJ-1201
数轴上有n个闭区间[ai,bi],选择尽量少的区间覆盖一条指定线段[s,t]
给一个定长为N的字符串S,构造一个字符串T,长度也为N。
起初,T是一个空串,随后反复进行下列任意操作
从S的头部删除一个字符,加到T的尾部从S的尾部删除一个字符,加到T的尾部目标是最后生成的字符串T的字典序尽可能小
1≤N≤2000 字符串S只包含大写英文字母
输入:字符串S
输出:字符串T
给出n个物体,第i个物体重量为wi。选择尽量多的物体,使得总重量不超过C。
有n个物体,第i个物体的重量为wi,价值为vi。在总重量不超过C的情况下让总价值尽量高。每一个物体都可以只取走一部分,价值和重量按比例计算。
注意:每个物体可以只拿一部分,因此一定可以让总重量恰好为C。
有n个人,第i个人重量为wi。每艘船的最大载重量均为C,且最多只能乘两个人。用最少的船装载所有人。
有n个重量和价值分别为wi,vi的物品,从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。
1≤n≤100 1≤wi,vi≤100 1≤W≤10000输入:
n=4 (w,v)={(2,3),(1,2),(3,4),(2,2)} W=5输出:
7(选择第0,1,3号物品)因为对每个物品只有选和不选两种情况,所以这个问题称为01背包。
Serling公司购买长钢条,将其切割为短钢条出售。切割工序本身没有成本支出。公司管理层希望知道最佳的切割方案。假定我们知道Serling公司出售一段长为i英寸的钢条的价格为pi(i=1,2,…,单位为美元)。钢条的长度均为整英寸。
| 长度i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | | - | - | - | - | - | - | - | - | - | - | 价格pi | 1 | 5 | 8 | 9 | 10 | 17 | 17 | 20 | 24 | 30 |
钢条切割问题是这样的:给定一段长度为n英寸的钢条和一个价格表pi(i=1,2,…n),求切割钢条方案,使得销售收益rn最大。注意,如果长度为n英寸的钢条的价格pn足够大,最优解可能就是完全不需要切割。
The Triangle - POJ 1163 - Virtual Judge
在数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。
路径上的每一步都只能往左下或 右下走。只需要求出这个最大和即可,不必给出具体路径。
三角形的行数大于1小于等于100,数字为 0 - 99
输入格式:
5 //表示三角形的行数 接下来输入三角形 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5要求输出最大和
给定两个字符串,输出最长公共子序列,如输入
AB34C A1BC2输出
ABC有n个重量和价值分别为wi,vi的物品,从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。
注意,每种物品可以挑选任意多件。
1≤n≤100 1≤wi,vi≤100 1≤W≤10000有一个长为n的数列a0,a1,…,a(n-1)。请求出这个序列中最长的上升子序列的长度。
上升子序列指的是对于任意的i<j都满足ai<aj的子序列。
1≤n≤1000
0≤ai≤1000000
输入
n=5 a={4,2,3,1,5}输出
3(注:2,3,5)