![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
tunyalana
这个作者很懒,什么都没留下…
展开
-
字符串间相似距离
输入 abcd abc 输出: 1 代码: #include<bits/stdc++.h> using namespace std; string s,t; int dp[1011][1011];//dp[i][j] 的值代表的是str1[0...i-1]编辑为str2[0...j-1]的最小代价。 int main() { while(cin>>s) { cin>>t; for(int i=1;i<=s.size();++i) dp[i][0]=.原创 2021-01-29 21:45:30 · 94 阅读 · 0 评论 -
背包类问题
#include<bits/stdc++.h> using namespace std; int s,n; int w[1011]; int dp[1011][1011]; int main() { while(cin>>s) { cin>>n; for(int i=1;i<=n;++i) { cin>>w[i]; } memset(dp,0,sizeof(dp)); dp[0][0]=1; for(int i=1.原创 2021-01-29 11:09:57 · 57 阅读 · 0 评论 -
字符串最长公共子序列与最长连续公共子序列
#include<bits/stdc++.h> using namespace std; string s,t; int dp[101][101]; int main() { while(cin>>s) { memset(dp,0,sizeof(dp)); cin>>t; for(int i=1;i<=s.size();++i) { for(int j=1;j<=t.size();++j) { if(s[i-1]==t.原创 2021-01-29 10:43:57 · 111 阅读 · 0 评论 -
序列最大上升个数or最大下降个数
#include<bits/stdc++.h> using namespace std; int a[101],dp[101]; int n; int sheng(int k) { int ans=0; for(int i=0;i<=k;++i) { dp[i]=1; for(int j=0;j<i;++j) { if(a[j]<a[i]) { dp[i]=max(dp[j]+1,dp[i]); } ..原创 2021-01-29 10:06:49 · 150 阅读 · 0 评论 -
最大连续子序列和与最大上升子序列和
#include<bits/stdc++.h> using namespace std; long long a[10011],dp[10011]; int main() { int k; while(cin>>k) { if(k==0) break; int flag=0; for(int i=0;i<k;++i) { cin>>a[i]; if(a[i]>=0) flag=1; } if(flag==1) ..原创 2021-01-29 09:21:57 · 113 阅读 · 0 评论