随笔分类 -  dp

摘要:"POJ 3311 Hie with the Pie" 题意:有n+1个地方需要送馅饼,但是只有一个送货员,然后给出每个点到其他n个点的时间,然后找最有方案, 思路:与前两个状压dp不一样,是一个TSP问题。挑战程序设计上面的例题就是一道TSP的问题,不一样的地方就是,在找路径之前,需要用floyd 阅读全文
posted @ 2016-03-28 13:59 zzuli_柚子 阅读(184) 评论(0) 推荐(0)
摘要:"POJ 3235 Corn Fields" ___ 题意:在一个n m的草地上面放牛,两头牛不能挨着,并且只能最肥沃的草地上放牛。问有多少中放养方式。 思路:状压dp主要是运用的的位运算,然后用dp的思想去找转移方程。 "这篇博客讲的很详细,推荐一下" 对于本题而言可以这样考虑,把每一排的所有不相 阅读全文
posted @ 2016-03-23 12:49 zzuli_柚子 阅读(167) 评论(0) 推荐(0)
摘要:"POJ 1661 Help Jimmy" 题面是中文,不在赘述。一道DP题,dp[i][j]表示第i个平台上从左(dp[i][0])右(dp[i][1])下降到地面的最短时间。 include<cstdio include<cstring include<cstdlib incl... 阅读全文
posted @ 2015-11-27 21:48 zzuli_柚子 阅读(127) 评论(0) 推荐(0)
摘要:"5569 matrix" 记得在动态规划那里有个很经典的题目是给一个数字矩阵n m,每个位置上有权值,从(1,1)走到(n,m)的最值问题。而这道题是让你把走过的数字按照a1,a2,...,a2k.按照a1∗a2+a3∗a4+...+a2k−1∗a2k计算,使计算的结果最小。 dp(i,j)=在... 阅读全文
posted @ 2015-11-23 18:45 zzuli_柚子 阅读(226) 评论(0) 推荐(0)
摘要:"A Magic Lamp" 题意很简单,自己好好读一下。因为留下来的数要构成最小的数,所以我们可以先找字段里面最小的数字,比如样例 a=178534 4 ;也就是说我们需要按顺序找到3个最小数,比如找第一个小的数,只能在a[0]...a[3]中找,第二个小的数,只能在a[1]...a[4]中找,... 阅读全文
posted @ 2015-11-21 04:07 zzuli_柚子 阅读(183) 评论(0) 推荐(0)
摘要:感谢sjy巨巨的帮助,一开始知道这是一道dp题但就是找不到思路,经过sjy巨巨的指点才搞懂。这道题是以每一秒为一个状态,遍历一遍坐标,状态是从最后一秒往前遍历。就样例来说的话,最后一秒是第3秒,坐标是8。那么此时的状态可以由第2秒的时间,坐标7,8,9三个位置过来。用一个二维数组,下标分别表示时间 ... 阅读全文
posted @ 2015-10-31 14:34 zzuli_柚子 阅读(122) 评论(0) 推荐(0)
摘要:一道完全背包的模板题。#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3fint t,e,f,n;int v[505],w[505],dp[10010];//当前容量小能选择的最小的价值。int main... 阅读全文
posted @ 2015-10-30 16:07 zzuli_柚子 阅读(132) 评论(0) 推荐(0)
摘要:这道题是一道关于01背包的,需要注意的是,先排序把价钱最大的那道菜去出来不进行放入,然后在(m-5)块钱的余额下进行01背包的排序。#include#include#include#includeusing namespace std;#define inf 0x3ffffffffint n,m;i... 阅读全文
posted @ 2015-10-15 20:29 zzuli_柚子 阅读(144) 评论(0) 推荐(1)