随笔分类 -  POJ-动态规划

摘要:给定一个整数序列,找到一个具有最大和的连续子序列(子序列最少包含一个元素),返回其最大和。 实例输入: -2, 1, -3, 4, -1, 2, 1, -5, 4 实例输出: 6(连续子序列4, -1, 2, 1的和最大,为 6。) 下面介绍动态规划的做法,复杂度为 O(n)。步骤 1:令状态 dp 阅读全文
posted @ 2019-09-06 17:29 郭怡柔 阅读(386) 评论(0) 推荐(0)
摘要:题目链接 讲解链接 二维表思路 二维表思路与动规联系 给定两个字符串A和B,长度分别为m和n,要求找出它们最长的公共子串,并返回其长度。例如: A = "HelloWorld" B = "loop" 子序列和子串都是字符集合的子集,但是子序列不一定连续,但是子串一定是连续的。 dp[i][j]:以A 阅读全文
posted @ 2019-08-20 00:24 郭怡柔 阅读(251) 评论(0) 推荐(0)
摘要:动态规划典型问题模板 一、最长上升子序列(Longest increasing subsequence) 状态(最关键):f[N]为动规数组,f[i]表示从第一个字符开始,以a[i]为最后一个字符的序列的最长递增子序列的长度。 由状态引出状态转移方程,因为f[i]的设定,所以可以去比较最后一个字符从 阅读全文
posted @ 2019-06-30 00:38 郭怡柔 阅读(424) 评论(0) 推荐(0)
摘要:动态规划(DP:Dynamic Programming) 动态规划是求解包含重复子问题的最优化方法,把原问题分解为相对简单的子问题。动态规划只能应用于有最优子结构的问题(即局部最优解能决定全局最优解,或问题能分解成子问题来求解)。 基本思想 将原问题分解为相似的子问题,再合并子问题的解以得出原问题的 阅读全文
posted @ 2019-06-16 21:13 郭怡柔 阅读(808) 评论(0) 推荐(0)
摘要:总时间限制: 1000ms 内存限制: 65536kB 描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字 阅读全文
posted @ 2019-06-02 19:48 郭怡柔 阅读(216) 评论(0) 推荐(0)
摘要:总时间限制: 1000ms 内存限制: 65536kB 描述 给定n个1到9的数字,要求在数字之间摆放m个加号(加号两边必须有数字),使得所得到的加法表达式的值最小,并输出该值。例如,在1234中摆放1个加号,最好的摆法就是12+34,和为36 输入 有不超过15组数据每组数据两行。第一行是整数m, 阅读全文
posted @ 2019-06-02 18:38 郭怡柔 阅读(929) 评论(0) 推荐(1)
摘要:总时间限制: 1000ms 内存限制: 65536kB 描述 A sequence of positive integers is Palindromic if it reads the same forward and backward. For example:23 11 15 1 37 37 阅读全文
posted @ 2019-06-02 16:23 郭怡柔 阅读(275) 评论(0) 推荐(0)
摘要:总时间限制: 10000ms 内存限制: 65536kB 描述 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用 阅读全文
posted @ 2019-06-02 00:32 郭怡柔 阅读(221) 评论(0) 推荐(0)
摘要:优秀解答: https://www.cnblogs.com/nwpuacmteams/articles/5686930.html 阅读全文
posted @ 2019-06-01 23:31 郭怡柔 阅读(122) 评论(0) 推荐(0)
摘要:Description A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, ..., x 阅读全文
posted @ 2019-06-01 19:48 郭怡柔 阅读(237) 评论(0) 推荐(0)
摘要:Description Figure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that starts at the top and 阅读全文
posted @ 2019-06-01 18:20 郭怡柔 阅读(94) 评论(0) 推荐(0)