dp
一年不久
这个作者很懒,什么都没留下…
展开
-
蓝桥杯 最大子阵
将二维压缩为一维后,再利用动态规划中基础的最大子段和。最大连续子序列和:dp[i - 1] > 0, dp[i] = a[i - 1] + a[i]dp[i - 1] < 0, dp[i] = a[i]#include<cstdio>#include<algorithm>using namespace std;const int m...原创 2019-05-19 12:10:23 · 138 阅读 · 0 评论 -
区间dp入门
区间dp入门#include<bits/stdc++.h>using namespace std;const int maxn = 110;const int INF = 0x3f3f3f3f;int a[maxn];int dp[maxn][maxn];int sum[maxn][maxn];int n;int main(){ cin >...原创 2019-05-08 16:41:23 · 149 阅读 · 0 评论 -
洛谷奶酪塔(dp)
一开始想把每块奶酪高度压缩4/5后,价值不变,当作新的物品加入,但是忽略了前提:有大奶酪的时候下面的奶酪才会压缩,而在dp过程中无法加入判断。正解#include<bits/stdc++.h>using namespace std;const int maxn = 1010;int dp[1500]; //注意数据扩大5/4倍,数组需...原创 2019-05-03 13:52:38 · 396 阅读 · 0 评论 -
hdu1024(最大m子段和)
题目链接#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;typedef long long ll;const int maxn = 1e6 + 10;const ll INF = 35000;int...原创 2019-05-03 12:57:11 · 136 阅读 · 0 评论 -
hdu 1501 (记忆化搜索)
思路:直接搜索的话会有大量重复的运算,用记忆化数组记录之前的结果。当匹配到第一个串的第i位和第二个串的第j位时,前面可能有多种情况,但三个串后面的长度一定,所以结果也可以确定,用vis[i][j]记录当前状态是否匹配过 。(觉得记忆化搜索比dp可爱好多!)#include<cstdio>#include<iostream>#include<cstr...原创 2019-04-10 23:27:46 · 139 阅读 · 0 评论 -
poj2228(dp)
题目链接四行的dp WA了,两行的AC了。待解决......#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<string>using namespace std;const int INF = 0x...原创 2019-05-17 23:06:18 · 204 阅读 · 0 评论