摘要: 传送门 有一个X*Y的大矩形,有N种小矩形,每种两条边为x[i],y[i],价值val[i](旋转90度,价值不变);每次操作允许你将矩形平行着边将矩形切割成两个小的矩形,求你能切割多次切割原来的大矩形能获得的最大价值。 定义dp[i][j]为大小为i*j的矩形能获得的最大价值。对于每个i*j矩形, 阅读全文
posted @ 2017-08-23 20:28 xFANx 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 传送门 限制最多买n件物品的完全背包,二维的完全背包 定义dp[i][j]为最多i忍耐度,打j只怪能获得的最大经验 两种循环顺序都可以 需要注意的是:完全背包问题限制条件的维度和物品编号的维度的循环先后顺序是可以互换的. 阅读全文
posted @ 2017-08-23 15:20 xFANx 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 传送门 限制容量恰好为W的完全背包。 那就设dp[j]为容量为j恰好能得到的最小价值,不存在则设为INF 阅读全文
posted @ 2017-08-23 12:37 xFANx 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 把数位移一段值就可以了 POJ1837 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 #include <queue> 6 #include <vector> 7 #de 阅读全文
posted @ 2017-08-23 00:17 xFANx 阅读(2331) 评论(0) 推荐(0) 编辑