动态规划-简单dp
Mininda
云雀叫了一整天
展开
-
【bzoj1003】[ZJOI2006]物流运输 最短路+dp
传送门:嘿原题在这题意:给出一个图,求1~m的最短路,但其中有些点在某些时间段会不能用,题目保证有解。我们可以很(不)容易的看出递推关系式dp[i]=min(dp[i],dp[j]+cost[j+1][i]+k)(0//bzoj1003[ZJOI2006]物流运输//by dadatu#include#include#include#include#define inf 0原创 2018-01-09 15:09:12 · 380 阅读 · 0 评论 -
【poj2279】Mr. Young's Picture Permutations dp
DescriptionMr. Young wishes to take a picture of his class. The students will stand in rows with each row no longer than the row behind it and the left ends of the rows aligned. For instance, 12 stud...原创 2018-10-24 07:32:45 · 396 阅读 · 0 评论 -
【bzoj4300】绝世好题 dp
题意给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len)。题解这个题目有点搞笑啊我们用f[i]记录当前第i位为1的最长长度为多少,每次更新一个新数判断它的第几位出现了1,然后再选最大的更新。代码#include<iostream>#include<cstdio>using namespa...原创 2018-10-05 17:38:47 · 366 阅读 · 0 评论 -
【bzoj1207】[HNOI2004]打鼹鼠 dp
题解f[i]表示从1到第i只鼹鼠出现的时间里并且打死第i只鼹鼠所能打死的最大鼹鼠数目。 (其实就相当于最长不上升子序列一样,只不过转移有一丢丢不一样就是啦。)代码#include<iostream>#include<algorithm>#include<cstdio>#include<cmath>#include<...原创 2018-08-10 19:03:06 · 353 阅读 · 0 评论 -
【bzoj1270】雷涛的小猫 dp
看注释吧代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cctype>using namespace std;//f1[]表示在当前高度下第i棵树的能吃到最大柿子,f2[]表示高度为i的情况下的能吃...原创 2018-08-04 08:13:51 · 292 阅读 · 0 评论 -
【USACO5-3-2】量取牛奶Milk Measuring dp+dfs
原题#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cctype>using namespace std;int ans[1010],res[1010],c[1010];int n,m;bool flag;voi...原创 2018-07-15 18:12:33 · 193 阅读 · 0 评论 -
【USACO5-3-4】巨大的牛棚Big Barn dp
题目#include<iostream>#include<cstdio>#include<cstring>#include<cctype>using namespace std;int mp[1010][1010],dp[1010][1010];int n,m,ans=0;int main(){ for(int i=1;i<...原创 2018-07-14 11:12:33 · 324 阅读 · 0 评论 -
【UVA10003】切木棍 dp
题目紫书说的很详细了#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#define inf 0x3f3f3f3fusing namespace std;int dp[501][501],a[1005];int n,m,len;int read(...原创 2018-06-14 22:52:25 · 257 阅读 · 0 评论 -
【USACO5-1-3】乐曲主题Musical Themes dp
题目#include<iostream>#include<cctype>#include<cstdio>using namespace std;int dp[5050][5050],a[5050];int n,ans;int read(){ char ch=getchar();int ret=0; for (;!isdigit(ch);ch=g...原创 2018-06-21 22:49:45 · 309 阅读 · 0 评论 -
【USACO3-3-5】游戏 dp
原题1dp[i][j]表示的是在i到j这段采用最优策略当前能取得的最大值,每次我要么取第一个元素,要么取最后一个元素。所以转移方程:dp[i][j]=a[i]+a[i+1]+······+a[j-1]+a[j]-min(dp[i+1][j],dp[i][j-1])2然后我们来考虑一下能不能将dp压成一维的,我们发现每次只与i和i+1有关,所以我们用dp[i]表示从i开始的l个元素能取到的最大值,再...原创 2018-05-24 20:08:45 · 259 阅读 · 0 评论 -
【USACO3-3-4】家的范围 dp
原题#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define N 309char a[N][N];int dp[N][N];int res[N];int n;int main(){ scanf("%d",&n); ...原创 2018-05-24 19:51:51 · 246 阅读 · 0 评论 -
【USACO3-2-2】商店购物 背包dp
原题背包dp拿一个数组dp[i][j][k][l][r]来记录买第一种买i个,第二种买j个······,的最小花费是多少。#include<iostream>#include<cstdio>#include<cstring>using namespace std;int dp[6][6][6][6][6],v[1010][6],id[1001],nu...原创 2018-05-24 19:21:06 · 252 阅读 · 0 评论 -
【USACO3-1-2】总分 dp
原题//usaco3-1-2 总分#include<iostream>#include<cstdio>#include<cstring>using namespace std;int dp[101000],w[101000],c[101000];int n,m,v;int main(){ scanf("%d%d",&v,&a...原创 2018-05-22 20:34:55 · 221 阅读 · 0 评论 -
【USACO2-3-4】货币系统 dp
原题//usaco2-3-4 Money Systems#include<iostream>#include<cstdio>#include<cstring>#define ll long longll c[101000],dp[101000];int n,v;int main(){ scanf("%d%d",&v,&...原创 2018-05-21 21:25:22 · 293 阅读 · 0 评论 -
【USACO2-3-2】奶牛家谱 dp
原题一棵高度为k家谱树有三种情况。1左子树的高度为k-1,右子树的高度小于等于k-22右子树的高度为k-1,左子树的高度小于等于k-23左子树右子树的高度都为k-1用一个数组rec[i][j]记录高度从1~i的家谱树节点树为j有多少种不同的情况,dp[i][j]记录高度为i的家谱树节点为j有多少种不同的情况。根据上面的分类讨论就得出了状态转移方程。#include<iostream>...原创 2018-05-21 21:12:50 · 337 阅读 · 0 评论 -
【USACO2-3-1】最长前缀 dp
原题类似于完全背包的思想用一个l[i]数组记录a[i]的长度,f[i]记录的是构成的最大前缀是否能到达长度为i的地方。//usaco2-3-1 Longest Prefix#include<iostream>#include<string>#include<cstring>#include<cstdio>using namespace st...原创 2018-05-21 20:32:25 · 311 阅读 · 0 评论 -
【hdu1423】Greatest Common Increasing Subsequence dp
题意给定两个序列,求其lcis题解我们用f[i][j]表示在a[1~i]中和b[1~j]中以b[j]结尾的lcis每次转移1 如果a[i]!=b[j] 那么就是这个更新的a[i]没啥子鸟用,f[i][j]=f[i-1][j]。2 如果a[i]==b[j],那么我就要从j之前的序列b中选一个比b[j]小的k,每次比较一下f[i][j]与f[i-1][k]+1进行替换但这样做的话我们发...原创 2018-10-24 07:48:27 · 263 阅读 · 0 评论