
动态规划 - 背包
NotFound1
这个作者很懒,什么都没留下…
展开
-
|Tyvj|动态规划|P1516 科技庄园
http://tyvj.cn/p/1516用min{TI, A-1}作为背包容量, 为什么是A-1是因为“他不想摘很多的桃以至体力为0”这个坑了我一天。WA了N次。然后根据果树位置算出果树位置与(0,0)的距离(不是直线距离)作为每棵树的重量然后每次摘的桃子数就是价值。然后多重背包即可。#include#include#includeusing namespace原创 2016-08-04 13:22:43 · 646 阅读 · 0 评论 -
|Vijos|动态规划|P1071 新年趣事之打牌
https://vijos.org/p/107101背包+输出最优解,在丢失牌的重量中进行01背包#include#include #include #include #define ms(i,j) memset(i, j, sizeof(i)); using namespace std;int w[105];int f[100005];int g[100005];原创 2016-08-28 19:27:10 · 607 阅读 · 0 评论 -
|NOIOJ|动态规划|2989:糖果
http://noi.openjudge.cn/ch0206/2989/statistics/01背包,不知道为什么RE了一个点以后如果查明原因再改#include#include #include #include #define ms(i,j) memset(i, j, sizeof(i)); using namespace std;int n,k;int w[10原创 2016-08-29 23:27:44 · 772 阅读 · 1 评论 -
|NOIOJ|动态规划|2985:数字组合
http://noi.openjudge.cn/ch0206/2985/简单01背包方案数问题#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int n,t;int a[30];int f[1005];int main(){ scanf("%d%d"原创 2016-09-10 21:00:24 · 429 阅读 · 0 评论 -
|洛谷|动态规划|P1164 小A点菜
http://www.luogu.org/record/lists?pid=P116401背包方案数#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int n,m;int a[105];int f[10005];int main(){ scanf原创 2016-09-10 21:05:14 · 436 阅读 · 0 评论 -
|洛谷|动态规划|P1616 疯狂的采药
http://www.luogu.org/problem/show?pid=1616和采药很像,这里只不过改成了完全背包#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int t,m;int ti[10005], pi[10005];int f[100005];原创 2016-09-10 21:02:32 · 373 阅读 · 0 评论 -
|洛谷|动态规划|P1855 榨取kkksc03
http://www.luogu.org/problem/show?pid=1855题目描述一大堆,其实就是一个二维背包问题。#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int n,m,t;int mi[105], ti[105];int原创 2016-09-30 19:19:40 · 581 阅读 · 0 评论 -
|洛谷|动态规划|P1757 通天之分组背包
https://www.luogu.org/discuss/show?postid=2772简单分组背包#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);/* NOIP2016倒计时,RP++ Luogu: P1757 通天之分组背包*/using namespace std;原创 2016-11-13 15:40:38 · 538 阅读 · 0 评论 -
|BZOJ 1649|二维背包|[Usaco2006 Dec]Cow Roller Coaster
BZOJ 1649 Luogu 2854 from: USACO 2006 Dec Sliver(USACO刷题第10题)显然是二维费用01背包。 但是直接做会超时,而且还有连接的限制。 根据题意可以知道只有在wi[i]+xi[i]=jwi[i]+xi[i]=j才需要考虑转移 那么我们设f[i][j]f[i][j]为铺到ii,成本为jj的最大有趣值 那么有下列转移方程 f[xi[i]+原创 2017-06-16 19:13:06 · 457 阅读 · 0 评论 -
|Tyvj|动态规划|P2865 打包
http://tyvj.cn/p/2865简单的二维01背包题目,在原01背包上加维即可#include#include#includeusing namespace std;int main () { const int maxvg = 380 + 10; int v,g,n; scanf("%d%d%d", &v, &g, &n); int f原创 2016-08-03 12:15:51 · 451 阅读 · 0 评论 -
|Vijos|动态规划|P1037 搭建双塔
原文地址:http://blog.youkuaiyun.com/ly59782/article/details/52057877描述2001年9月11日,一场突发的灾难将纽约世界贸易中心大厦夷为平地,Mr. F曾亲眼目睹了这次灾难。为了纪念“9?11”事件,Mr. F决定自己用水晶来搭建一座双塔。Mr. F有N块水晶,每块水晶有一个高度,他想用这N块水晶搭建两座有同样高度的塔,使他们成转载 2016-08-28 10:30:34 · 1388 阅读 · 1 评论 -
|Tyvj|NOIP2006|动态规划|P1057 金明的预算方案
http://tyvj.cn/p/1057先把每个主件的附件存储到fj数组,然后开一个isf数组存储第i个组件是否是附件存储重量为wi,价值为vi那么接下来有5种决策:1 什么都不要2 主件3 主件+附件14 主件+附件25 主件+附件1+附件2当然转移是在这个组件不是附件的情况下的。由于价格都是10的倍数,可以将n和wi、vi都除以10,最后*10即可原创 2016-08-04 13:55:10 · 369 阅读 · 0 评论 -
|Tyvj|动态规划|P1016 装箱问题
http://tyvj.cn/p/1016dp01背包题目,价值和体积都是体积#include#include#includeusing namespace std;int main () { const int maxn = 20000 + 5; int v,n; scanf("%d%d", &v,&n); int f[maxn];原创 2016-08-02 14:56:29 · 500 阅读 · 0 评论 -
|Tyvj|NOIP2005|动态规划|P1005 采药
http://tyvj.cn/p/1005给定时间为背包容量,每个草药的采集时间为重量,草药价值为价值#include#include#includeusing namespace std;int main () { const int maxt = 1000 + 5; int t,m; scanf("%d%d", &t,&m); int f[ma原创 2016-08-02 15:31:20 · 310 阅读 · 0 评论 -
|Tyvj|NOIP2006|动态规划|P1914 开心的金明
http://tyvj.cn/p/1914总钱数是背包容量,每个物品的价值就是重量,没个物品的价值*重要度是价值,然后按照01背包做。#include#include#includeusing namespace std;int main () { const int maxn = 30000 + 5; int n,m; scanf("%d%d", &n,原创 2016-08-02 15:40:39 · 399 阅读 · 0 评论 -
|Tyvj|动态规划|P1015 公路乘车
http://tyvj.cn/p/1015把旅客的总路程数n当做背包总量,10km每km的费用当做物品的价值,10km每km的km数是物品的重量,求最小价值。例如5km费用是49,那么价值是49,重量是5.然后按照完全背包做。#include#include#includeusing namespace std;int main () { const int ma原创 2016-08-02 18:31:57 · 381 阅读 · 0 评论 -
|Vijos|动态规划|P1059 积木城堡
https://vijos.org/p/1059求出最小城堡高度作为背包容量,对每个城堡进行01背包,然后判断即可(很久没写背包题目居然错了个细节调了半天...)#include#include#include#include#include#define ms(i,j) memset(i,j,sizeof(i));using namespace std;const in原创 2016-08-27 11:37:05 · 809 阅读 · 0 评论 -
|Vijos|NOIP2012|动态规划|P1792 摆花
https://vijos.org/p/1792多重背包方案数变形题#include#include#include#include#include#define ms(i,j) memset(i,j,sizeof(i));using namespace std;const int maxn = 100 + 5;int n,m;int a[maxn];int f[max原创 2016-08-27 12:14:54 · 525 阅读 · 0 评论 -
|Vijos|动态规划|P1025 小飞侠的游园方案
https://vijos.org/p/1025简单的01背包#include#include#include#include#include#define ms(i,j) memset(i,j,sizeof(i));using namespace std;const int maxt = 1000 + 5;int v[105], w[105];int f[maxt];原创 2016-08-27 14:31:42 · 599 阅读 · 0 评论 -
|BZOJ 1655|无限背包|高精度|[Usaco2006 Jan] Dollar Dayz 奶牛商店
BZOJ 1655 poj 3181 from: USACO 2006 Jan Sliver(USACO刷题第3题)很容易看出本题是个无限背包方案数的dp,但是本题数据大会爆long long,那就可以把dp数组拆分为两个数组,类似于高精度压位地做#include<cstdio>#include<cstring>#include<algorithm>#include<stack>#inc原创 2017-06-11 18:53:56 · 497 阅读 · 0 评论