-----动态规划-----
文章平均质量分 52
动态规划
浪漫些许潦草
这个作者很懒,什么都没留下…
展开
-
MT2145 上楼梯2(DP)
先处理前k阶,对于前ik时,每次可以走1,2,…,k-1,k阶,因此dp[i]=dp[i-1]+dp[i-2]+…原创 2024-07-28 12:47:53 · 200 阅读 · 0 评论 -
LeetCode 343. 整数拆分(动态规划)
做这道题时,没有想清楚dp[i]的定义,错误地认为dp[i]就是最大乘积(不论何种情况,是拆分,还是没拆分),所以写成了dp[i]=max(dp[i],dp[i-j]*j),没有想清楚dp[i]是拆分后的最大乘积,即这个代码表示的是拆分成3个或者更多个数后的最大乘积,把dp[i]拆分为两个数的情况给。若将拆除的第一个正整数令为k,那么剩下的数则为n-k,此时可以不拆分,也可以继续拆成2~n-k个,若我们可以计算出n-k拆分后的最大乘积,则在此基础上很容易得出n拆分后的最大乘积。原创 2023-10-18 16:22:10 · 220 阅读 · 0 评论 -
LeetCode 63. 不同路径 II
根据题意,只能向下或者向右移动一步,则dp[i][j] = dp[i - 1][j] + dp[i][j - 1]总结:刚开始写这道题时,在对dp数组进行初始化时没有考虑到障碍之后就没路了...(在此记录)dp[i][j] :表示从(0 ,0)出发,到(i, j) 有dp[i][j]条不同的路径。但是,如果(i, j) 处有障碍,则dp[i][j] = 0。最后求得dp[n-1][m-1]即为从左上角到右下角路径数。原创 2023-10-16 23:35:26 · 218 阅读 · 0 评论 -
nyoj 571 整数划分(三)(递归)
整数划分(三)描述 整数划分是一个经典的问题。请写一个程序,完成以下要求。输入 每组输入是两个整数n和k。(1 <= n <= 50, 1 <= k <= n) 输出 对于输入的 n,k; 第一行: 将n划分成若干正整数之和的划分数。 第二行: 将n划分成k个正整数之和的划分数。 第三行: 将n划分成最大数不超过k的划分数。 第四行: 将n划分成若干个 奇正整数之和的划分数。 第五原创 2017-07-13 11:11:50 · 524 阅读 · 0 评论 -
CSU 1120 病毒(最长公共递增子序列LICS)
病毒Description 你有一个日志文件,里面记录着各种系统事件的详细信息。自然的,事件的时间戳按照严格递增顺序排列(不会有两个事件在完全相同的时刻发生)。 遗憾的是,你的系统被病毒感染了,日志文件中混入了病毒生成的随机伪事件(但真实事件的相对顺序保持不变)。备份的日志文件也被感染了,但由于病毒采用的随机感染方法,主日志文件和备份日志文件在感染后可能会变得不一样。 给出被感染的主日志和备份原创 2017-05-09 15:43:49 · 500 阅读 · 0 评论 -
hdu 1114 Piggy-Bank(完全背包)
Piggy-BankProblem 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 (I原创 2017-06-15 20:12:56 · 414 阅读 · 0 评论 -
hdu 5543 Pick The Sticks(01背包)
Pick The SticksProblem Description The story happened long long ago. One day, Cao Cao made a special order called “Chicken Rib” to his army. No one got his point and all became very panic. However, Ca原创 2017-04-26 09:23:45 · 502 阅读 · 0 评论 -
hdu 2639 Bone Collector II (背包的第K优解)
Bone Collector II原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2639题意:普通的背包问题,主要是求第k优解思路:我们就把普通的背包新增一维dp[i][j]记录背包容量为i的时候第j大的价值为dp[i][j],对于每一件物品b数组记录取了这件物品之后的前k大价值,a数组记录不取这件物品的前k大价值,然后把ab数组合并去重原创 2016-12-01 21:48:43 · 514 阅读 · 0 评论 -
HAUT 1266 最大子段和(类似DP)(河南工业大学2017校赛)
最大子段和题目描述一个大小为n的数组a1到an(−10^4≤ai≤10^4)。请你找出一个连续子段,使子段长度为奇数,且子段和最大。输入第一行为T(1≤T≤5),代表数据组数。 之后每组数据,第一行为n(1≤n≤10^5),代表数组长度。 之后一行n个数,代表a1到an。输出每组数据输出一行,表示满足要求的子段和最大值 样例输入1 4 1 2 3 4 样例输出9思路:因为要使长度为奇数,原创 2017-04-24 10:59:06 · 547 阅读 · 0 评论 -
hdu 1024 Max Sum Plus Plus(最大m段子序列和)
Max Sum Plus PlusProblem Description Now I think you have got an AC in Ignatius.L’s “Max Sum” problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. Now you are faced原创 2017-05-01 16:09:21 · 1086 阅读 · 0 评论 -
hdu 3466 Proud Merchants(贪心+DP)
Proud MerchantsProblem Description Recently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerful kingdom in the world. As a result, the people in this country a原创 2017-03-24 10:31:12 · 713 阅读 · 2 评论 -
hdu 1260 Tickets(DP)
TicketsProblem Description Jesus, what a great movie! Thousands of people are rushing to the cinema. However, this is really a tuff time for Joe who sells the film tickets. He is wandering when could原创 2017-07-11 07:53:27 · 691 阅读 · 0 评论 -
nyoj DivideingJewels(多重背包)
DivideingJewels原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=546方法一:转换成01背包问题,防止超时要进行一些必要的剪枝和二进制优化代码:#include#include#includeusing namespace std;int v[100010],dp[100010];int mai原创 2016-11-26 11:09:58 · 502 阅读 · 0 评论 -
nyoj 61 传纸条(一)(双线DP)
传纸条(一)描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1),小轩坐在矩阵的右下角,坐标(m,n)。从小渊传到小轩的纸条只可以向下或者向右传递,从小轩传原创 2017-07-13 17:18:48 · 692 阅读 · 0 评论 -
poj 2393 Yogurt factory(贪心)
Yogurt factoryDescriptionThe cows have purchased a yogurt factory that makes world-famous Yucky Yogurt. Over the next N (1 <= N <= 10,000) weeks, the price of milk and labor will fluctuate weekly such原创 2017-07-08 10:49:15 · 433 阅读 · 0 评论 -
BZOJ 1003 物流运输(最短路+DP)
物流运输Description 物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转 停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种 因素的存在,有的时候某个码头会无法装卸货物。这时候就必须修改运输路线,让货物能够按时到达目的地。但是 修改路线是一件十分麻烦的事情,会带来额外的成本。因此物流公原创 2017-07-17 18:16:42 · 558 阅读 · 0 评论 -
hdu 5542 The Battle of Chibi(DP+树状数组+离散化)
The Battle of ChibiProblem Description Cao Cao made up a big army and was going to invade the whole South China. Yu Zhou was worried about it. He thought the only way to beat Cao Cao is to have a spy原创 2017-04-26 16:36:16 · 538 阅读 · 0 评论 -
hdu 6082 度度熊与邪恶大魔王(完全背包)
度度熊与邪恶大魔王Problem Description度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来。邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力。度度熊一共拥有m种攻击方式,第i种攻击方式,需要消耗k[i]的晶石,造成p[i]点伤害。当然,如果度度熊使用第i个技能打在第j个怪兽上面的话,会使得第j个怪兽的生命值减少p[i]-b[j],当然如果伤害小于防御,那么原创 2017-08-14 15:44:12 · 475 阅读 · 0 评论 -
hdu 6143 Killer Names(组合计数)(DP)
题目链接:Killer Names题意要求构造若干名字,名字包括first name last name 两部分,均需包含 n 个字符,已知有 m 种字符供选择,求最多有多少种不同的构造方法,使得 first name 和 last name 不含相同字符。也就相当于m 种颜色需要为两段长度为 n 的格子染色,且这两段之间不能出现相同的颜色,问总共有多少种情况。思路枚举为这两段分配的颜色数目分别为原创 2017-08-21 22:33:31 · 452 阅读 · 0 评论 -
hdu 6083 度度熊的午饭时光(01背包+打印路径)
度度熊的午饭时光Problem Description度度熊最期待每天的午饭时光,因为早饭菜品清淡,晚饭减肥不敢吃太多(胖纸的忧伤T.T)。百度食堂的午餐超级丰富,祖国各大菜系应有尽有,度度熊在每个窗口都有爱吃的菜品,而且他还为喜爱的菜品打了分,吃货的情怀呀(>.<)。但是,好吃的饭菜总是很贵,每天的午饭预算有限,请帮度度熊算一算,怎样打饭才能买到的最好吃的饭菜?(不超过预算、不重样、午餐等分最高的原创 2017-08-14 18:24:21 · 710 阅读 · 2 评论 -
ZOJ 2319 Beautiful People(最长单调递增子序列)(二维LIS)
Beautiful PeopleThe most prestigious sports club in one city has exactly N members. Each of its members is strong and beautiful. More precisely, i-th member of this club (members being numbered by the原创 2017-04-19 14:49:39 · 6410 阅读 · 0 评论 -
nyoj 1249 物资调度(DP)
物资调度描述 某地区发生了地震,灾区已经非常困难,灾民急需一些帐篷、衣物、食品和血浆等物资。可通往灾区的道路到处都是塌方,70%以上的路面损坏,桥梁全部被毁。国家立即启动应急预案,展开史上最大强度非作战空运行动,准备向灾区空投急需物资。 一方有难,八方支援。现在已知有N个地方分别有A1,A2,….,An个物资可供调配。目前灾区需要物资数量为M。 现在,请你帮忙算一算,总共有多少种物质调度方案。原创 2017-04-30 19:52:14 · 734 阅读 · 0 评论 -
poj Function Run Fun(DP)(记忆化搜索)
Function Run FunDescriptionWe all love recursion! Don't we? Consider a three-parameter recursive function w(a, b, c): if a 1 if a > 20 or b > 20 or c > 20, then w(a, b, c) retu原创 2017-01-12 09:03:12 · 487 阅读 · 0 评论 -
hdu Employment Planning(DP)
Employment PlanningProblem DescriptionA project manager wants to determine the number of the workers needed in every month. He does know the minimal number of the workers needed in each mo原创 2017-01-11 20:35:29 · 641 阅读 · 3 评论 -
hdu Super Jumping! Jumping! Jumping!(DP)
Super Jumping! Jumping! Jumping!Problem DescriptionNowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know littl原创 2017-01-11 14:18:37 · 493 阅读 · 0 评论 -
nyoj 单调递增最长子序列(贪心||DP)
单调递增最长子序列描述 求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3aaaababcabklmncdefg样例输出137方法一:通过一个数组不断地记录递增子序列的最大长度。原创 2016-11-26 17:34:56 · 624 阅读 · 0 评论 -
hdu Monkey and Banana(DP)
Monkey and BananaProblem DescriptionA 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,原创 2017-01-11 09:29:54 · 537 阅读 · 0 评论 -
hdu Piggy-Bank(完全背包)
Piggy-Bank题意:给出小猪钱罐的重量和装满钱后的重量,然后是几组数据,每组数据包括每种钱币的价值与重量求出重量能装满钱罐时的最小价值思路:完全背包代码示例:#include#include#includeusing namespace std;int w[505],v[505],dp[50001];int main(){原创 2016-11-21 12:46:54 · 605 阅读 · 0 评论 -
poj 滑雪(DFS)||(DP+递归)
滑雪DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20原创 2017-01-05 21:30:47 · 2612 阅读 · 2 评论 -
nyoj 最长公共子序列(DP)
最长公共子序列描述咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。输入第原创 2016-12-16 12:35:19 · 474 阅读 · 0 评论 -
hdu 饭卡
饭卡Problem Description电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。原创 2016-11-22 15:44:03 · 598 阅读 · 0 评论 -
hdu FatMouse's Speed(DP)(打印路径)
FatMouse's SpeedProblem DescriptionFatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to take the data on a collection of mice and put as large原创 2017-01-12 11:06:30 · 435 阅读 · 0 评论 -
hdu Pascal's Travels(DP)
Pascal's TravelsProblem DescriptionAn n x n game board is populated with integers, one nonnegative integer per square. The goal is to travel along any legitimate path from the upper left c原创 2017-01-12 16:09:30 · 390 阅读 · 0 评论 -
hdu 5009 Paint Pearls(DP+链表优化)
Paint PearlsProblem Description Lee has a string of n pearls. In the beginning, all the pearls have no color. He plans to color the pearls to make it more fascinating. He drew his ideal pattern of the原创 2017-04-12 19:47:49 · 474 阅读 · 0 评论 -
CodeForces - 711C Coloring Trees(DP)(思维)
Coloring TreesZS the Coder and Chris the Baboon has arrived at Udayland! They walked in the park where n trees grow. They decided to be naughty and color the trees in the park. The trees are numbered w原创 2017-03-23 08:53:00 · 437 阅读 · 0 评论 -
SCU 4488 king's trouble II(dp||枚举)
king's trouble IIDescriptionLong time ago, a king occupied a vast territory.Now there is a problem that he worried that he want to choose a largest square of his territory to build a palace.原创 2017-03-18 18:11:39 · 640 阅读 · 0 评论 -
hdu 5410 CRB and His Birthday(01背包+完全背包)
CRB and His BirthdayProblem DescriptionToday is CRB's birthday. His mom decided to buy many presents for her lovely son.She went to the nearest shop with M Won(currency unit).At the原创 2017-03-15 20:25:13 · 394 阅读 · 0 评论 -
nyoj 又见01背包
又见01背包 有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值。 1 1 1 1 Input 多组测试数据。每组测试数据第一行输入,n 和 W ,接下来有n行,每行输入两个数,代表第i个物品的wi 和 vi。Output 满足题意的最大原创 2016-11-21 21:39:15 · 650 阅读 · 0 评论 -
nyoj 完全背包
完全背包直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背包恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NOInput第一行: N 表示有多少组测试数据(N接下来每组测试数据的第一行有两个原创 2016-11-21 15:19:51 · 421 阅读 · 0 评论 -
动态规划之完全背包
借鉴他人的总结:完全背包:完全背包(CompletePack): 有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。完全背包按其思路仍然可以用一个二维数组来写出:f[i][v]=max{f[i-1][v-k*c[i]]+k*w[i]|0原创 2016-11-21 12:50:17 · 612 阅读 · 0 评论