自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 01背包问题

把N个物品放入容量为W的背包里,第i个物品的重量为c[i],价值为v[i],每个物品要么放,要么不放,并且只有一个,如何放才能达到背包里的物品价值最大?输入:第一行 输入背包数量n;第二行 输入n组物品重量和价值,共2n个整数;第三行 输入W值,背包能够承装重量的极限。输出最大价值。深搜解法对于每一个物品,有两种方案,选择放入,则价值为v(i)+dfs(i+1,ww-c[i]),选择...

2019-01-13 15:20:10 188

原创 切割钢条

给定一个长度为n英寸的钢条和一个价格表pi(i=1,2,3,…n),求能够使销售收益最大的切割方案。长度12345678910价格15816101717202430输入:第一行 输入钢条长度n第二行 输入n组长度和价值,共2n个整数,本例直接给出,如上表。动规解法动规解法就是用递推法。用dp[n]表示长度为n时的最大收入,则...

2019-01-13 14:37:31 187

原创 数塔问题

如下图,从第1层走到第n层,所有路径数字和最大是多少?要求每个数只能往下层的左右两个数走。输入:第一行 输入数塔高度n;第二行起n行, 输入数塔 。深搜代码:#include <stdio.h> #include <algorithm> using namespace std;int const maxN=10;int st[maxN][maxN];i...

2019-01-13 13:59:21 622

原创 最大连续子序列和

最大连续子序列和-动规解法给定一个数字序列A1,A2,A3,…,An,求i,j(1<=i<=j<=n),使得Ai+…+Aj最大,输出这个最大和。样例:-2,11,-4,13,-5,-2。最大和是20=11+(-4)+13。思路:令dp(i)表示以A[i]作为末尾的连续序列的最大和,那么要求的结果就是dp(0)到dp(n-1)中最大的值。再分析:如果dp(i-1)&gt...

2019-01-13 13:45:10 110

原创 最长公共子序列LCS

两个字符串S1与S2,求出其最长的公共子序列?序列不同于子串,序列可以中间不连续,只要满足前后关系。例如123456与13579,它们有最长的公共子序列135.// 第一行 输入S1// 第二行输入S2思路采用动态规划的解法,还是先制作一个二维表,找出其递推关系。从表中可分析出:如果S1[i]=S2[j],则dp[i][j]=dp[i-1][j-1]+1;如果S1[i]!=S2[j...

2019-01-13 11:52:54 99

原创 最长回文子串

最长回文子串给出一个字符串S,求出其最长回文子串的长度。思路:依次判断长度为1至N子串是否是回文串,每一种长度的子串,从左至右判断,结果存入DP[I][J].I为子串长度,J为子串开始位置。边界条件是长度为1和2。长度为1的子串一定是回文串,即DP[1][*]=1;长度为2的子串直接比较两个字符即得结果,即DP[2][J]=(S[J]==S[J+1])?1:0。当I>2时,判断S[...

2019-01-13 11:35:18 123

原创 最长上升子序列

最长上升子序列•对于一个序列如(1,7,3,5,9,4,8),它有一些上升子序列,如(1,7),(3,5,8)。这些上升子序列中最长的长度为4,比如(1,3,5,9)。要求对于给定的序列,求出它的最长上升子序列的长度。思路:•对于序列中的第一个数a[k],设以它为右端点的序列的最长上升子序列长度为dp[k]。dp[k]是这样来计算的:•Dp[k]=max(dp[i],i=1 to k-1...

2019-01-12 10:45:31 229

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除