随笔分类 -  动态规划

摘要:hdu5791 dp[i][j]表示的是序列A前i个数字和序列B前j个数字的公共子序列的总个数,那么的dp公式就可以这么表示 理解一下此公式若最尾部的a[i]和b[j]相等的话,那么单独的a[i]和b[j]组成1个相同子序列。 同时我们可以想一下之前的前i-1个子序列和前j-i个子序列再加上a[i] 阅读全文
posted @ 2016-08-11 15:15 fancy_boy 阅读(398) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1074 我们可以断定状态的终止态一定是n个数全部选完的情况,那么它的前一个状态是什么呢,一定是剔除任一门课程后的n种状态。 例如 dp[全选了]=min{(dp[除了math都做了]+math的超时天数),(dp[ 阅读全文
posted @ 2016-03-26 22:06 fancy_boy 阅读(172) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5616 思路 题目中蕴含着两种需要计算的重量 1. 从所有的砝码中挑出任意种2.(转换的思想)在天平的两端都挑出这些砝码中的一些,它也可以计算出差值,这个差值也是一种重量 这其实一种转换,看下面这个公式(左端砝码的 阅读全文
posted @ 2016-02-14 16:08 fancy_boy 阅读(624) 评论(0) 推荐(0)
摘要:我以此题为例,详细分析01背包问题,希望该题能够为大家对01背包问题的理解有所帮助,对这篇博文有什么问题可以向我提问,一同进步^_^饭卡Time Limit: 5000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Tot... 阅读全文
posted @ 2015-04-05 17:31 fancy_boy 阅读(4322) 评论(0) 推荐(2)
摘要:对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让... 阅读全文
posted @ 2015-04-04 23:39 fancy_boy 阅读(4088) 评论(0) 推荐(2)
摘要:问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输入格式输入... 阅读全文
posted @ 2015-03-30 11:56 fancy_boy 阅读(3549) 评论(2) 推荐(1)
摘要:Super Jumping! Jumping! Jumping!首先对于动态规划问题要找出其子问题,如果找的子问题是前n个序列的最长上升子序列,但这样的子问题不好,因为它不具备无后效性,因为它的第n+1的数会影响前n个序列的长度,换句话说,如果第n+1个数加上去不一定使得和前n个数加起来就是最长子序... 阅读全文
posted @ 2015-03-13 23:51 fancy_boy 阅读(2475) 评论(0) 推荐(0)