摘要: /*DP这是个很有趣的DP问题状态的设计是这样子的 f[i][j][2];f[i][j][0] 表示吃完i到j之间所有的草,并且最后吃i,整体腐烂度的最小值f[i][j][1] 表示吃完i到j之间所有的草,并且最后吃j, 整体腐烂度的最小值我们要求 f[1][n][0] 和 f[1][n][1],那么如何得到呢f[i][j][0] = min( f[i+1][j][0]+dst[i][i+1]*(i+n-j),f[i+1][j][1]+dst[i][j]*(i+n-j) );f[i][j][1] = min( f[i][j-1][0]+dst[i][j]*(i+n-j),f[i][j-1][1 阅读全文
posted @ 2011-04-11 23:44 AC2012 阅读(230) 评论(0) 推荐(0) 编辑
摘要: /*DP*/// include file#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <cctype>#include <ctime>#include <iostream>#include <sstream>#include <fstream>#include <iomanip>#include <bitset>#include <algorith 阅读全文
posted @ 2011-04-11 21:09 AC2012 阅读(179) 评论(0) 推荐(0) 编辑
摘要: /*DP,应该说还是比较简单的*/// include file#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <cctype>#include <ctime>#include <iostream>#include <sstream>#include <fstream>#include <iomanip>#include <bitset>#include & 阅读全文
posted @ 2011-04-11 20:08 AC2012 阅读(242) 评论(0) 推荐(0) 编辑
摘要: /*用1742的方法,秒杀*/// include file#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <cctype>#include <ctime>#include <iostream>#include <sstream>#include <fstream>#include <iomanip>#include <bitset>#include < 阅读全文
posted @ 2011-04-11 17:37 AC2012 阅读(153) 评论(0) 推荐(0) 编辑
摘要: /*动态规划限制个数的背包问题啊*/// include file#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <cctype>#include <ctime>#include <iostream>#include <sstream>#include <fstream>#include <iomanip>#include <bitset>#include 阅读全文
posted @ 2011-04-11 17:18 AC2012 阅读(577) 评论(0) 推荐(0) 编辑
摘要: /*动态规划很笨的一种方法是 DP[i][j][k], 前i个,选j个,差是k的和最大值。这种DP比较好想,但是内存使用超大,需滚动。而且速度很慢还有一种DP,是 DP[i][j],选j个,差是k的最大值。此处遍历不是按照人的,而且按照要选几个人。此处的阶段是要选几个人内存使用也很小,速度非常快;虽然都是 N*M*801的算法,可能是我实现的不好吧*/// include file#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <cc 阅读全文
posted @ 2011-04-11 14:38 AC2012 阅读(160) 评论(0) 推荐(0) 编辑