动态规划
MANX98
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
矩阵连乘
#include <bits/stdc++.h> using namespace std; int n; int m[100][100],s[100][100]; int p[100]; int dp() { memset(m,0,sizeof(m));//初始话数组 memset(s,0,sizeof(s));//初始话数组 for(int r=2;r<...原创 2019-11-21 09:41:02 · 318 阅读 · 0 评论 -
不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 说明:m 和 n 的值均不超过 100。 示例 1: 输入: m = 3, n = 2 输出: 3 解释: 从左上角开始,总共有 3 条路径可以到达右下角。 向右 -> 向...原创 2019-11-06 19:12:07 · 305 阅读 · 0 评论 -
最大子序列和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 来源:力扣(LeetCode) int dp(int n,int *nums) { int Max=nums[0],sum=0; for(int i=0...原创 2019-11-06 19:08:59 · 228 阅读 · 0 评论 -
动态规划之回文字符串切割
题目: 给定一个字符串str,返回把str全部切成回文子串的最小分割数。 举例: str=“ABA” ,不需要切割,返回0; str=“ACDCDCDAD”,最少需要切两次,比如"A",“CDCDC”,“DAD”,所以返回2. #include <bits/stdc++.h> using namespace std; int D[100]; bool check(string S, i...原创 2019-11-01 20:18:58 · 716 阅读 · 0 评论 -
动态规划之最长子串
动态比较两个字符串的公共部分的长度,由最小的子问题的最优解渐进得到最整个问题的优解。 参考 #include<bits/stdc++.h> using namespace std; string A,B; int best[100][100]; int dp() { for(int i=1;i<=A.size();++i)#A字符串的前i个部分 { ...原创 2019-11-01 20:20:12 · 517 阅读 · 0 评论 -
动态规划之01背包
参考 #include <iostream> using namespace std; int weight[]={2,3,4,5}; int v[]={3,4,5,6}; int dp[100]; int num=4; int DP(int n) { for(int i=0;i<num;++i) { for(int w=n;w>=0;--w...原创 2019-11-01 20:20:29 · 220 阅读 · 0 评论 -
动态规划:数塔问题
参考地址 #include<iostream> using namespace std; int ta[100][100]; int v[100][100]; int dp(int n) { for(int i=1;i<=n;++i)#初始化最优解 { v[n][i]=ta[n][i]; } for(int t=n-1;t>0...原创 2019-11-01 20:21:06 · 280 阅读 · 0 评论 -
动态规划之钢条切割
#include <iostream> #include <algorithm> using namespace std; int r[]={0,1,5,8,9,10,17,17,20,24,30}; int cut(int n) { int money=0; for(int t=1;t<=10;++t)//列举最后一种分割方案 { ...原创 2019-11-01 20:21:26 · 467 阅读 · 0 评论 -
动态规划之n人过桥问题
题目:在一个夜黑风高的晚上,有n(n <= 50)个小朋友在桥的这边,现在他们需要过桥,但是由于桥很窄,每次只允许不大于两人通过,他们只有一个手电筒,所以每次过桥的两个人需要把手电筒带回来,i号小朋友过桥的时间为T[i],两个人过桥的总时间为二者中时间长者。问所有小朋友过桥的总时间最短是多少。 输入: 两行数据:第一行为小朋友个数n 第二行有n个数,用空格隔开,分别是每个小朋友过桥的时间。 ...转载 2019-11-01 20:21:47 · 3407 阅读 · 2 评论
分享