ACM—DP
文章平均质量分 67
蝉鸣的夏季
要在IT这条不归路上,越走越远了。
展开
-
hdu 1003 Max Sum
题意;给你一个数组,让你找和最大的子序列,输出子序列的最大和,和子序列两端的位置。 由于这是我dp开始的第一题,我用了最淳朴的dp,结局当然是超时。 这是超时代码,但是我觉得这个代码真心体现了dp思想,可以给初学者了解dp用 #include #include #include using namespace std; int a1[10005],dp[10005][10005];原创 2016-07-27 12:14:13 · 291 阅读 · 0 评论 -
哈理工oj 2317 Game
Description Kim is a college student who love computer games, but unfortunately his school just published a rule that Games should disappear in the campus , that means nobody can play computer原创 2016-12-13 15:17:39 · 437 阅读 · 0 评论 -
hdu 1203 I NEED A OFFER!(01背包)
Problem Description Speakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。Speakless没有多少钱,总共只攒了n万美元。他将在m个学校中选择若干的(当然要在他的经济承受范围内)。每个学校都有不同的申请费用a(万美元),并且Speakless估计了他得原创 2016-12-08 21:28:40 · 267 阅读 · 0 评论 -
hdu 1284 钱币兑换问题(完全背包)
Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。 Input 每行只有一个正整数N,N小于32768。 Output 对应每个输入,输出兑换方法数。 Sample Input 2934 12553 Sample Output 718831原创 2016-12-09 11:11:47 · 287 阅读 · 0 评论 -
hdu Coins (递推)
Problem Description Whuacmers use coins.They have coins of value A1,A2,A3...An Silverland dollar. One day Hibix opened purse and found there were some coins. He decided to buy a very nice watch in a原创 2016-12-23 21:17:59 · 232 阅读 · 0 评论 -
hdu 2844(多重背包)
Coins Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 13139 Accepted Submission(s): 5261 Problem Description Whuacmers use coins.The原创 2016-12-23 18:11:54 · 247 阅读 · 0 评论 -
hdu 2191悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
Input 输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1 Output 对于每组测试数据,请输出能够购买大米的最多重量,你可以假设经费买不光所有的大米,并且经费你可以不用完。每个实例的输出占一行。 Sample Input 1 8 2 2 100 4 4 100 2 Sample Output 4原创 2016-12-25 15:30:24 · 249 阅读 · 0 评论 -
hdu 1059 Dividing(多重背包)
Problem Description Marsha and Bill own a collection of marbles. They want to split the collection among themselves so that both receive an equal share of the marbles. This would be easy if all the m原创 2016-12-25 16:53:02 · 176 阅读 · 0 评论 -
hdu 1864 最大报销额
Problem Description 现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。 Input 测试输入包含若干测试用例。每个测试用例的第1行包含两个正数 Q原创 2016-12-20 17:56:15 · 260 阅读 · 0 评论 -
51nod,最长公共子序列问题
输入 第1行:字符串A 第2行:字符串B (A,B的长度 输出 输出最长的子序列,如果有多个,随意输出1个。 输入示例 abcicba abdkscab 输出示例 abca 看图,结合代码: for(i = 1; i <= la; i++){ for(j = 1;j <= lb; j++){ if(a[i] == b[j]){原创 2017-03-11 09:15:54 · 151 阅读 · 0 评论 -
hdu 1087 Super Jumping! Jumping! Jumping!
Problem Description Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to yo原创 2017-03-13 16:34:41 · 142 阅读 · 0 评论 -
hdu 2955 Robberies(01背包)
Problem Description The aspiring Roy the Robber has seen a lot of American movies, and knows that the bad guys usually gets caught in the end, often because they become too greedy. He has decided to原创 2016-11-24 09:46:15 · 191 阅读 · 0 评论 -
hdu 2159 FATE(完全背包)
Problem Description 最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,xhd就不会玩这游戏。xhd还说了他最多只杀s原创 2016-12-06 16:09:14 · 221 阅读 · 0 评论 -
hdu 2639 Bone Collector II
#include #include #include using namespace std; int main() { int t,v,n,i,j,c,k; int dp[1001][35],vi[1001],va[1001]; int a[35],b[35]; scanf("%d",&t); while( t--) {原创 2016-11-21 20:18:32 · 197 阅读 · 0 评论 -
HDU 1087 Super Jumping! Jumping! Jumping!
题目描述 Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now.原创 2016-08-19 10:47:09 · 284 阅读 · 0 评论 -
hdu 1069 Monkey and Banana
Problem Description A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, and at the mean time, provide the monkey with som原创 2016-08-03 09:42:22 · 310 阅读 · 0 评论 -
动态规划 基础题 数字三角
数字三角形 问题描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路 径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求 出最佳路径上的数字之和。 输入数据 输入的第一行是一个整数 N (1 三角形。数字三角形上的数的范围都在 0和原创 2016-11-11 14:40:56 · 337 阅读 · 0 评论 -
poj 1088 滑雪 动态规划(记忆化搜索)
ichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12原创 2016-11-12 16:16:09 · 511 阅读 · 0 评论 -
hdu 2602 Bone Collector(01背包原型)
Problem Description Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave原创 2016-11-16 13:41:52 · 213 阅读 · 0 评论 -
01背包原型讲解(动态规划)
问题:就是给你一定体积的一个背包,然后给你n个物品,每个物品有它相对应的体积和价值,问你这个背包能装的最大价值, 01背包是有一个公式的 dp[i,v]=max(dp[i-1,v],dp[i-1,v-ci]+wi); 这个公式就是在纠结要不要往背包里放不放i,dp[i-1,v]是不放 dp[i-1,v-ci]+wi是放i之后的价值,ci是体积,wi是这个物品的价值 #include原创 2016-11-15 21:39:27 · 226 阅读 · 0 评论 -
HDU 2546 饭卡(01 背包)
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。 某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。 Input 多组数据。对于每组数据: 第一原创 2016-11-13 17:38:29 · 345 阅读 · 0 评论 -
hdu 1171 Big Event in HDU
Problem Description Nowadays, we all know that Computer College is the biggest department in HDU. But, maybe you don't know that Computer College had ever been split into Computer College and Softwar原创 2016-11-15 17:09:39 · 216 阅读 · 0 评论 -
hdu 1114Piggy-Bank(完全背包)
Problem Description Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The原创 2016-12-02 13:56:28 · 279 阅读 · 0 评论 -
hdu 1248 寒冰王座(完全背包)
不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前. 死亡骑士:"我要买道具!" 地精商人:"我们这里有三种道具,血瓶150块一个,魔法药200块一个,无敌药水350块一个." 死亡骑士:"好的,给我一个血瓶." 说完他掏出那张N元的大钞递给地精商人. 地精商人:"我原创 2016-12-04 21:11:15 · 269 阅读 · 0 评论 -
51nod 编辑最短距离
定两个字符串S和T,对于T我们允许三种操作: (1) 在任意位置添加任意字符 (2) 删除存在的任意字符 (3) 修改任意字符 问最少操作多少次可以把字符串T变成S? 输入 第1行:字符串a(a的长度 <= 1000)。 第2行:字符串b(b的长度 输出 输出a和b的编辑距离 输入示例 kitten sitting 输出示例 3原创 2017-03-14 19:06:18 · 193 阅读 · 0 评论