自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 母函数入门

题目:hdu1028题意:整数拆分(一个整数能有几种拆分方式)解答:其中一种方法是用母函数。对于这道题来说是(1+x+x^2+x^3+x^4...)(1+x^2+x^4+x^6+x^8+x^10+...)(1+x^3+x^6+x^9+...)(...)...   (一直到n) 最后算出来了结果之后系数表示拆分的方法数,指数表示拆几先给代码:#include#include#in

2016-09-21 17:55:11 333

原创 多重背包基础

题目:hdu1171题意:把一个多重背包尽可能地分成相等的两份。解答:背包的总乘重为所有重量的一半,然后尽可能地接近这个总乘重就好。//多重背包#include#include#includeusing namespace std;const int MAXN = 300000;int dp[MAXN];int N,W;int value[55],num[55];vo

2016-09-21 16:13:04 355

原创 二维完全背包

题目:hdu2159题意:xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,xhd就不会玩这游戏。xhd还说了他最多只杀s只怪。请问他能升掉这最后一级吗。解答:把忍耐度看成容量,经验值看成是价值。由于限制了放入物品的个数,所以这是一个二维的完全背包问题。dp[j][w]表示用了j的忍耐值、杀了w个怪的

2016-09-18 11:01:31 2005

原创 01背包与完全背包结合

题目:hdu5410题意:一个物品重量W,告诉你总的物品时数和总钱数。买x个会给a*x+b个蜡烛。问最多可以获得多少个蜡烛。解答:如果每个物品只拿一个,那就给a+b个蜡烛,所以先01背包再完全背包。#include#include#include#include#includeusing namespace std;const int MAXN = 2020;struct

2016-09-15 21:03:39 332

原创 完全背包基础

题目:hdu1114题意:一个背包,求装满状态下能乘的最小价值解答:完全背包~~~//完全背包#include#include#include#include#includeusing namespace std;const int maxn = 550;const int MAXN = 10010;const int INF = 0x3f3f3f3f;struct

2016-09-15 10:50:08 269

原创 01背包变化4

题目:hdu5544题意:给一个长度为L的平台,和n根金条的长度与价值,金条只能在平台上摆一长条,且每根金条的重心不能超出平台边缘。解答:01背包dp加一维表示当前物品与之前物品已经占用了多少个边缘。dp[k][i][v]:第一维:k=0,1,2。0代表没有半截的情况,1代表有1个半截的情况,2代表有2个半截的情况。 第二维:前i物品。 第三位:占了v容量。

2016-09-04 17:17:00 267

原创 01背包变化3

题目:hdu2546题意:电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。解答:如果m#includ

2016-09-02 22:22:40 470

原创 01背包变化2

题目:poj2184题意:给出num(num解答:把前面那个变量看成背包的容量。后面的值看成背包的价值。由于背包的容量可能为负值,因此需要将其向右平移100000个单位。#include#include#include#includeusing namespace std;const int INF = 0x3f3f3f3f;const int MAXN = 110;in

2016-09-02 20:57:14 288

原创 0/1背包变化

题目:poj1837题意:有一个天平,天平左右两边各有若干个钩子,总共有C个钩子,有G个钩码,求将钩码全部挂到钩子上使天平平衡的方法的总数。其中可以把天枰看做一个以x轴0点作为平衡点的横轴。解答:dp[i][j]表示放入前i个钩码平衡度为j的种数。因为数组下标不能为负数所以把-7500到7500平移到0到15000.状态转移方程见下表。#include#include#includ

2016-09-01 20:29:31 272

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除