自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (7)
  • 收藏
  • 关注

原创 poj 3260 多重背包+完全背包

和1252有点类似,只是我所拥有的钱不是无穷多的了,变成了有固定的值了。所以把我的钱进行多重背包。才发现我1252写的太烂了。。看了别人的才发现找钱与我的钱进行做差时,可以这样。。下个钱上界的找法。。转自http://blog.csdn.net/alfredtofu/article/details/6194597//其中:给钱上界为:T+maxValue^2,其中max

2012-11-30 11:07:07 393

原创 poj 1252 完全背包

题意:    六种钱币,数量不限,问组成1~100钱币的最小个数加和/100的值,以及这里边最大的值。而且,可以找钱,例如:我用一百,找我10块,那么如果我这个90的值比一开始不找钱90的值小,那么可以替代。题解:    背包一次,dp[i]存储价钱为i时最小钱币个数。然后暴力找:二重循环。每次找最小的。#include#include#define Max 2000

2012-11-29 17:19:25 516

原创 poj 1837 01背包

题意:g个砝码,c个挂物点。问多少种情况能让天平平衡。dp以平衡度入手。。#include#includeint dp[30][20000],c,g;int ci[100],gi[100];int main(){ while(scanf("%d%d",&c,&g)!=EOF){ for(int i=1;i<=c;i++){ scanf("%d",&c

2012-11-29 12:26:47 298

原创 poj 2923 状态压缩 + 01背包

题意:    两个车有容量a与b,n个物品,每个物品有一个体积,问最小多少次能够运完他们。因为n先进行遍历,看看1然后用it数组,代表物品,进行背包 j代表状态,j&it[i]时,代表两个状态不冲突,就是存在某个物品运了两次。j|it[i]代表当前状态。#include#include#define Max 10000000int it[2000],dp[2000],

2012-11-29 10:54:40 854 1

原创 poj 1976

题意:    一个数列,n个数,找三个 m个连续数的子数列,使其和最大。n比较大,三个子数列只能一个一个找了,第一个  i=1~k  dp(i,0)=max{dp(i-1,0),it[i]};  i代表第i个子数列选还是不选。第二个  i=m+1~k dp(i,1)=max{dp(i-1,1),dp(i-m,0)+it[i]};第三个 i=2m+1~k dp(i,2)=max{

2012-11-28 21:42:23 523

原创 poj 1745 我觉得就是个递推。。

n个数,他们之间进行加减,问有没有情况是他们最后的结果是k的倍数。递推么。。难道不是?为嘛要标上背包呢T,T预处理,把所有的数对k取余,负数的话取反再取余,因为这样对结果没影响,还能降低复杂度。v[0][0]=1,代表和为0的时候已经被得到了。然后把1到n这些数拿出来,1到k遍历加或者减这些数,得到的结果对相应的v数组进行标记(在next中),然后清空上一个结果(now的那些结果)

2012-11-28 18:12:00 443

原创 poj 1742多重背包

这个。。。哎。。题意:n种钱币,每种ci个,给个数m,问能不能从1到m,用这些钱币都能凑成。#include#includeint use[110000],vis[100010],ai[110],ci[110];int n,m;int main(){ while(scanf("%d%d",&n,&m)&&n&&m){ for(int i=1;i<=n;i++){

2012-11-28 15:46:32 369

原创 poj 1384完全背包

题意:给你一个e和f,其实f-e就是背包的容量,然后给你很多钟钱币的值以及花费,问你能不能把这个容量正好填满,并且价值最小。题解:对数组初始化的时候除了0容量为0以外,其它的容量都为MAX,那么状态转移方程为f[i][v]=min{f[i-1][v],f[i-1][v-cost[i]]+w[i]};就行了。最后看看v[背包容量]是不是MAX,如果是,代表不可能被正好填满。#incl

2012-11-26 21:37:22 403

原创 周赛上 1001字符串处理

一个串是个环,要找字典序最小的那个位置。#include#includechar s[100010];int i,j,k;int main(){ while(scanf("%s",s)!=EOF){ i=0;j=1;k=1; int len=strlen(s); while(i+k<len&&j+k<len&&k<len){ int i_pos=(i+k)%le

2012-11-26 19:41:25 354

原创 poj 1014 多重背包

题意:6种物品,价格为从1到6,给出你他们的个数,问,能不能把他们分成两堆,使其价格相等。因为有固定的个数了,所以是多重背包问题。所有价格的一般为这个背包的容量,把所有物品拆分(二进制思想),然后01背包求就行了。#include#includeint sum,v[200010],a[10],k,c[200000];int max(int a,int b){ return

2012-11-26 18:55:32 362

原创 poj 3628 01背包问题

题意: n头奶牛叠罗汉,给你个高度b,要求你找几头奶牛叠加比b高,但要求高出的值尽可能的小,问这个高出的值是多少把奶牛的总和减去b,就是这个背包的容量,填充它,求出的最大值与背包的容量做差,结果就是他了。#include#includeint v[1000000],sum,c[100],w[100];int max(int a,int b){ return a>b?a:b;

2012-11-25 21:24:24 1129 4

原创 poj 3211 01背包问题

题意: 俩人洗衣服。。你一件我一件。。囧。。必须俩人把同一个色的洗完才能洗下一个颜色的。问最小时间是多少因为有n个颜色的,所以整个背包问题循环n次,每次找寻 最大限度的填满 T/2的方案。T为这个颜色的衣服总时间。#include#include#includeusing namespace std;char s[20][20];int v[100010];in

2012-11-25 21:00:28 1078

原创 poj 2063 完全背包

题意 :m多的钱 一共years年 d多个基金,第i个基金需要 花费cost[i],收益w[i]。问最大能收益多少?每一年是一个多重背包问题。。那么一共years个背包问题。卡就卡在开多大数组。因为开不了那么大的数组。。所以,因为基金都是1000的倍数,所以把m和基金的花费都缩小1000去进行背包求解,得到的解用未缩小的总钱数去加,然后再缩小1000去求解下一年的。#include#

2012-11-25 17:39:15 932

原创 poj 3624 裸的01背包

背包九讲   这里写的真是太详细了。。。压力大啊。。不得不学DP了。。。#include#includeint v[13000];int w[3500];int c[3500];int n,m;int max(int a,int b){ return a>b?a:b;}int main(){ while(scanf("%d%d",&n,&m)!=EOF){ fo

2012-11-25 12:20:48 404

原创 POJ 3468 线段树 区间操作 懒惰标记

题意很简单,1-n的区间 有两种操作,一种是在a-b区间加上c,一种是询问区间a-b的和。懒惰标记,把某个区间进行标记,不执行下拉操作,等到询问他的孩子结点的时候再进行下拉。#include#includelong long n,q,it[1000000],tree[1000000],flag[1000000];long long buildtree(long l

2012-11-18 21:28:30 620

原创 poj 2828 线段树

几个人,插队题。n个人,每个人两个值。pos代表此人插在第pos个人的右边,value值代表此人所持有的值。最后问是怎样个队列。从后往前看这个队列,i个人前边一定会有pos个人。  这样线段树维护的就是此区间有多少个空位。#include#includeint tree[1000000],n,que[10000000];struct People{ int

2012-11-12 21:41:53 378

原创 hdu 2795 线段树 建树模版

哎。。以前建树的方法弱爆了。。T。T    只能建满二叉树,现在终于学会建树了自己好久都做不掉,看了别人的代码,才过的。。我只能说,我不会建树。。#include#includeint n,h,w,tree[1000000];void buildtree(int l,int r,int numb){ tree[numb]=w; if(l==r){ return

2012-11-08 21:44:44 1300

原创 poj 1698 最大流

额。。很难得自己终于会构图了。。但是构了个费用流。。。一会看看能不能过。。题意:    n个电影需要演,每个电影都有特定的日期可以拍摄,每个电影也都要在特定的星期数里完成,而且也有其必须要演的天数。小Alice同时做它们,问能不能最后都完成他们(周数做多的那个完成时,所有的电影都完成了)。题解:    每个电影都建点,每天都建点(建max周数 *7个点),源点到每个电影点建边 c为

2012-11-03 21:12:50 424

转载 网络流题目

POJ 1698题意:有N部电影,分别可以在一个星期的几天拍摄,并可以拍W个星期,Alice可以有D个星期拍这部电影,一天只能拍一部电影。问Alice能否拍完所有电影。构图:把日程表上所有的点弄出来,如果电影能在这天拍摄,则从电影I向这天连容量为1的边。源点向每一部电影连容量为D的边。每一天向汇点连一条容量1的边。做最大流,若等于sum{d[i]}则可以,否则不可以。

2012-11-03 11:54:54 386

原创 poj 3762 费用流 同3680

题意:    给你每个任务的时间段和它的任务得分,再给你你所拥有的天数,问在这有限的天数里怎么安排时间才能的最多的分。题解:    和3680一样的建图方法。离散化一下,每个点之间连边,容量无穷费用为零。某个任务时间段的两端点连边,容量为1,费用为任务得分。源点与第一个点相连,容量为天数,费用为零。    之所以每个点都连一条边并且容量无穷费用为零,是使之就像一个分叉路口一样,如果

2012-11-03 11:49:27 573

原创 poj 2175 最小费用+消圈定理

这题想了很久,今天才想明白。。写下我的心路历程。供大家参考吧,希望能别像我这样这么久才明白。题意:    n栋大楼,每个大楼里ni个人,m个避难所,每个避难所能容纳mi个人。每个建筑物都有坐标,每个人到达避难所的费用是距离+1。给了你一种安排,问这种安排是不是最优的。题解:    消圈定理:残留网络里如果存在负费用圈,那么当前流不是最小费用流。因为你绕着这个圈走一遍,费用更小了

2012-11-02 11:25:11 1838 3

mingw-win64

MinGW win64位安装包

2016-05-12

xgboost编译后.rar

xgboost利用make编译后,直接在python-package文件夹下进行python setup.py install即可,适用于win64

2016-05-12

git-win64.ext

git-win64

2016-05-12

scipy_0.14.0.win_amd64_py2.7.exe

scipy_0.14.0.win_amd64_py2.7.exe

2016-05-12

numpy-MKL-1.8.0.win-amd64-py2.7

numpy-MKL-1.8.0.win-amd64-py2.7.exe

2016-05-12

java模拟浏览器登陆新浪微博爬取用户信息

java模拟浏览器登陆新浪微博爬取用户信息 新建java工程把包导入即可,仅供参考

2015-07-25

hadoop+HA+zookeeper+hbase配置文件

hadoop2.6.0+HA+Zookeeper3.4.6+hbase1.0.0安装配置步骤详细文档,包括各种xml配置文件

2015-04-25

空空如也

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

TA关注的人

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