上一页 1 ··· 4 5 6 7 8
摘要: View Code //hdu 1171 dp(多重背包)//题意:把所有物品的价值尽量分为相等的两份,不能等分的话//后面那份可以稍小于前面的//求出价值总和后,令价值的一半为背包容量,让背包尽可能的装满#include #include //最多50种,每种最多100个,每个价值最大50//所以... 阅读全文
posted @ 2012-04-15 15:14 gabo 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 在这附一个别人的网址,是求LCS时的空间优化http://blog.sina.com.cn/s/blog_7826c4dd01011em0.html我贴两个代码,空间复杂度分别为 O(2*n)的和O(n)的空间复杂度O(2*n)//hdu 1159 dp(最长公共子序列)//以下是空间复杂度为O(... 阅读全文
posted @ 2012-04-14 09:57 gabo 阅读(266) 评论(0) 推荐(0) 编辑
摘要: View Code //hdu 1114 dp(01背包)//题意为 用各种币种填满储蓄罐(有给出满是的质量),若能填满//输出填满后的最小价值,若填不满则输出不可能#include #include #include using namespace std;#define INF 1<<28#... 阅读全文
posted @ 2012-04-14 01:41 gabo 阅读(244) 评论(2) 推荐(0) 编辑
摘要: View Code #include #include #define N 1005int dp[N], num[N];int main(){ int n; while(scanf("%d", &n), n) { memset(dp, 0, sizeof(dp)); ... 阅读全文
posted @ 2012-04-14 00:54 gabo 阅读(175) 评论(0) 推荐(0) 编辑
摘要: View Code 1 //hdu 1010 DFS + 剪枝 2 3 //这题意思是一只dog在迷宫中要走到出口,且出口只有在一个时间点 4 //会打开,要在这个时间点刚好到出口输出YES,如果不能逃出则输出NO 5 //走过的路会陷下去,也就是不能重复走,X表示墙,不能走 6 ... 阅读全文
posted @ 2012-04-13 21:31 gabo 阅读(171) 评论(0) 推荐(0) 编辑
摘要: View Code //hdu 1176 dp(数塔)//简单dp,刚在练dp,一些小错误,纠结了好就//可以从前往后推 也可以从后往前推//我是从前(时间 为1, 位置为5)往后推的,这样比较纠结,还要限制//前几步不能走太远,因为一秒只能移动一格,要记录最优值//如果从最后一秒往前推的话,可以... 阅读全文
posted @ 2012-04-12 23:52 gabo 阅读(196) 评论(0) 推荐(0) 编辑
摘要: View Code //hdu 2191 dp(01背包)//每种物品询问一边,看能否放入背包//讨论放第i种物品进背包后背包容量为 cap 的话,//第i个物品质量为 w[i],看cap-w[i] 这种状态下//的价值 加上 v[i] 能否大于 容量为cap时的价值,//若有则用val[cap]记... 阅读全文
posted @ 2012-04-12 18:49 gabo 阅读(233) 评论(0) 推荐(0) 编辑
摘要: View Code //hdu 1239 水题//题目从In other words开始看就可以了//题目给出三个整数 m a b, 0 #include #define N 100005int m, a, b;bool no_prime[N];void get_prime() //素数打表... 阅读全文
posted @ 2012-04-12 15:18 gabo 阅读(712) 评论(0) 推荐(0) 编辑
摘要: View Code //hdu 1069//dp(最大递增子序列)//都不懂dp,先做做这种简单的dp//这题相当于最大递增子序列,按面积递增,//可以先按面积排序后,两重循环,第一重 i//表示到第 i 个block 时的最高高度,//第二重 是搜索 i 之前的block 看 i 能否放在其上,/... 阅读全文
posted @ 2012-04-11 21:25 gabo 阅读(241) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8