![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dp
是Lr呀
这个作者很懒,什么都没留下…
展开
-
方格取数
四维dp,2个人同时一起走 dp[i][j][k][l]表示第一个人走到i,j 第二个人走到k,l位置的最短路径和#include<bits/stdc++.h>using namespace std;int a[15][15],dp[15][15][15][15];int main(){ int n;cin>>n; memset(a,0,sizeof(a)); int x,y,d; while(scanf("%d%d%d",&x,&y,&am..原创 2020-05-10 14:41:19 · 285 阅读 · 0 评论 -
股票买卖
问题相当于:一个数组 i<=j<=k<=l 求a[j]-a[i]+a[l]-a[k]的最大值思路:以某一个数位节点,求出这个数之前的利润最大值和这个数之后的利润最大值#include<bits/stdc++.h>#define inf 0x3f3f3f3f;using namespace std;int a[100005],minl[100005],maxr[100005],dp1[100005],dp2[100005];int main(){ int t..原创 2020-05-10 12:58:59 · 367 阅读 · 0 评论 -
Maximum sum
思路:先dp求出左边和右边的最大子序列和。再求出每个位置左边和右边最大的和#include<bits/stdc++.h>using namespace std;int dp1[50001],dp2[50001],a[50001],lmax[50001],rmax[50001];int main(){ int t; cin>>t; while(t--) {...原创 2020-04-18 16:10:32 · 137 阅读 · 0 评论 -
友好城市
思路:先将南岸的坐标按照升序排序,再根据所对应的北岸的坐标求出北岸的不下降序列的最长长度即是答案。#include<bits/stdc++.h>using namespace std;struct node{ int a,b;};node c[5010];bool cmp(node A,node B){ if(A.a==B.a)return A.b<B.b; ...原创 2020-04-15 22:47:13 · 173 阅读 · 0 评论 -
最低通行费
思路:需要推出dp[i][j]=min(dp[i-1][j],dp[i][j-1])+a[i][j]表示在i,j位置时的最短花费get新知识memset的赋值#include<bits/stdc++.h>using namespace std;int dp[101][101],a[101][101];int main(){ int n; cin>>n;...原创 2020-04-15 22:08:34 · 146 阅读 · 0 评论 -
怪盗基德的滑翔翼
#include<bits/stdc++.h>#define INF 0x3f3f3f3f;using namespace std;int n,a[101],dp[101][2],ans=-INF;int main(){ int t; cin>>t; while(t--) { cin>>n; memset(dp,0,sizeof(d...原创 2020-04-14 23:40:06 · 213 阅读 · 0 评论 -
最大上升子序列和
#include<bits/stdc++.h>#define INF 0x3f3f3f3f;using namespace std;int n,a[1010],dp[1010],ans=-INF;int main(){ cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=n;...原创 2020-04-14 23:18:30 · 137 阅读 · 0 评论 -
合唱队形
#include<bits/stdc++.h>using namespace std;int main(){ int a[110],dp[110][2],n,maxx=-1; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; dp[i][0]=1; dp[i][1]=1; } for(in...原创 2020-04-12 17:00:47 · 250 阅读 · 0 评论 -
求最长不下降序列
#include<bits/stdc++.h>using namespace std;int main(){ int a[210],dp[210],n,maxx=-1,k,ans[210],pre[210]; cin>>n; memset(pre,0,sizeof(pre));//初始化全部为0,否则下面while循环里面跳不出来 for(int i=1;i...原创 2020-04-12 16:02:00 · 118 阅读 · 0 评论