双塔dp
zyz_3_14159
这个作者很懒,什么都没留下…
展开
-
ZOJ-3331-双塔dp
题目大意:有两台机器,n个任务,每个任务在机器A,B上花费的时间都被给出,并且任务i开始的条件是任务i-1被A完成或者正在被B做,问最少需要花费多少时间; 题目解析:呀,我的第一道双塔dp,双塔dp又可以称为调控问题,想象成两个机器就是两座塔,dp[i][j]表示的就是任务i在A-B的时间差之下最少花费的时间, 如果当前AB的情况。 AC代码: #include using namespa原创 2017-04-29 13:00:59 · 340 阅读 · 0 评论 -
POJ-2609-双塔dp
题目大意:有n辆汽车需要运载到船上,船上有两块甲板A,B,长度都是L,n辆汽车必须一次上去,问最多能运几辆车。 题目解析:先预处理前缀和,定义dp[i][j],表示前i辆车,A甲板用的长度为j能否满足条件,这样状态转移的时候只需要考虑他能否被运到A或者B上了。 AC代码: #include #include #include using namespace std; int n,len,a[原创 2017-04-29 15:33:03 · 420 阅读 · 0 评论 -
HDU-3578-双塔dp
题目大意:有n个橘子,选一些装到两个袋子里,要求两个袋子里面重量相同,问袋子最大重量是多少; 题目解析:dp[i][j]表示枚举到第i个橘子,两个袋子差值为j的时候的最大重量,注意橘子可以不取,并且如果有个橘子的重量为0答案就有解,状态转移的话很简单; AC代码: #include #include #include using namespace std; const int maxn=1原创 2017-04-29 16:48:24 · 356 阅读 · 0 评论