码迷,mamicode.com
首页 >  
搜索关键字:ccf 有趣的数 动态规划    ( 7410个结果
最长递增子序列(LIS)求解
问题描述 最长递增子序列也称 “最长上升子序列”,简称LIS ( longest increasing subsequence)。设L=是n个不同的实数的序列,L的递增子序列是这样一个子序列Lis=,其中k1 如:求一个一维数组arr[i]中的最长递增子序列的长度,如在序列{ 7, 1, 6, 5, 3, 4, 8 }中,最长递增子序列长度为4,其递增子序列为:1,3,4,8。...
分类:其他好文   时间:2014-05-15 15:06:59    阅读次数:328
蓝桥杯——说好的进阶之入学考试
问题描述   辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”...
分类:其他好文   时间:2014-05-15 14:58:54    阅读次数:250
饭卡------HDOJ杭电2546(还是01背包!!!!!!)
Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。 某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。...
分类:其他好文   时间:2014-05-15 04:01:20    阅读次数:284
蓝桥杯 乘积最大
算法训练 乘积最大   时间限制:1.0s   内存限制:256.0MB        锦囊1 动态规划。 锦囊2 用F[i,j]表示前i位分j个部分最大值是多少,则F[i,j]=F[k,j-1]*V(k+1,i)。其中V(k+1,i)表示从第k+1位到第i位的数。 问题描述   今年是国际数学联盟确定的“2000——世界数学...
分类:其他好文   时间:2014-05-15 03:43:39    阅读次数:364
Leetcode 动态规划 Maximum Subarray
题意:最大连续子序列和,在一个数组中找到和最大的连续子数组 思路:dp, 对于第i个数,有两种选择:把它加入在子数组里,不加入子数组(子数组到此结束) 加不加入子数组,要比较它加入前后子数组的总和是变大了还是变小了,如果变大则加入,变小则不加入 所以,我们需要记录以i-1结尾的子数组的总和,最后的结果在这些总和中取最大的那个 f[i] = max(f[i-1]+a[i],f[i-1]); max({f[i]}) 实现时用两个变量,一个保存f[i-1],一个保存目前为止最大的f[i] 复杂度:时间O(n),空...
分类:其他好文   时间:2014-05-14 21:53:14    阅读次数:250
Leetcode 动态规划 Decode Ways
题意:将A-B编码为1-26,现在给一串数字,问有多少种解码方式 思路:动态规划 设f[i]表示以第i个字符结尾的数字串的解码方式,则 如果 s[i - 2]是1 或 s[i - 2]是2且s[i - 1]小于6,f[i] = f[i - 1] + f[i - 2] 否则,f[i] = f[i - 1] 此外,还要再加一些判断 如果s[i - 1]是零,则以s[i - 2]数字结尾的解码方式为零。因为s[i - 2]数字必须和s[i - 1]结合起来 实现的时候只要两个变量保存前两个的值,即f[i - 1...
分类:其他好文   时间:2014-05-14 21:48:05    阅读次数:261
经典算法宝典——动态规划思想(六)(2)
动态规划的核心是状态和状态转移方程。01背包问题是最基本的背包问题,它包含了背包问题中状态、方程的最基本思想,另外,别的类型的背包问题往往也可以转换成01背包问题求解。...
分类:其他好文   时间:2014-05-14 00:40:03    阅读次数:276
最长公共子序列python实现
最长公共子序列是动态规划基本题目,下面按照动态规划基本步骤解出来。 1.找出最优解的性质,并刻划其结构特征 序列a共有m个元素,序列b共有n个元素,如果a[m-1]==b[n-1],那么a[:m]和b[:n]的最长公共子序列长度就是a[:m-1]和b[:n-1]的最长公共子序列长度+1;如果a[m-1]!=b[n-1],那么a[:m]和b[:n]的最长公共子序列长度就是MAX(a[:m-1]和...
分类:编程语言   时间:2014-05-13 07:57:53    阅读次数:538
Bone Collector------HDOJ杭电2602(纯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 grav...
分类:其他好文   时间:2014-05-13 06:58:19    阅读次数:523
nyoj10 滑雪
dp[ i][j]=max(四个方向点)+1; 四个方向上的点应该存在,且大于i,j,表示以i,j开始的点最长路径,递归的结束条件不用判断,因为 dp[][]最大数位置肯定 直接结束,随后次大值肯定能结束,以此类推,所以可以执行,但自下而上动态规划不好写。因为要确定这些数的大小,麻烦。 #inclu...
分类:其他好文   时间:2014-05-12 21:21:23    阅读次数:323
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!