dp
共 63 篇文章
leetcode62. 不同路径
分析用f[i][j]表示从(1,1)到(i,j)的路径数,先初始化第一行和第一列的路径数,都只有1种走法。class Solution {public: int uniquePaths(int m, int n) { int f[110][110];//f[i][j]表示从(1,
acwing900. 整数划分
暂无摘要...
acwing282. 石子合并
暂无摘要...
acwing899. 编辑距离
暂无摘要...
acwing902. 最短编辑距离
暂无摘要...
acwing897. 最长公共子序列
暂无摘要...
leetcode53. 最大子数组和
分析用f[i]来表示数组中第i个位置的最大数组和,那么计算f[i]的时候就需要从f[i-1]转移过来,转移方程为f[i]=max(f[i-1]+nums[i],nums[i]),由于只与f[i]和f[i-1]有关,可以用pre来表示i-1,ans来表示i。class Solution {public
acwing895. 最长上升子序列
暂无摘要...
acwing898. 数字三角形
暂无摘要...
acwing9. 分组背包问题
分析01背包是每个物品只能选一次,这里是每组只能选一个,我们可以遍历s[i]次。选出每组中的最大值即可。#include<iostream>using namespace std;const int N=110;int v[N][N],w[N][N],s[N],f[N];int n,m;