E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Coins
uva 562 Dividing
coins
(0/1背包)
点击打开链接uva 562 思路: 0/1背包 分析: 1 题目意思是有两个人分n个金币,要求最后两个人的金币差值最小 2 我们利用背包的思想即背包的总容量为金币总和的一半,去求出可以放入背包的最大的金币(这里其实就是某一个人能获得的最大的金币),那么最后的ans就是(sum-dp[sum/2])-dp[sum/2] 代码: #include<cstdio> #include&
从此醉
·
2013-05-28 22:00
div
poj 2000 Gold
Coins
/* GoldCoins TimeLimit:1000MSMemoryLimit:30000K TotalSubmissions:19148Accepted:11946 Description Thekingpayshisloyalknightingoldcoins.Onthefirstdayofhisservice,theknightreceivesonegoldcoin.On
locusxt
·
2013-05-27 17:00
poj
cpp
UVa11137 - Ingenuous Cubrency
#defineMAXN10000 #defineN20 longlongf[MAXN+1]; intcoins[N+1]; voiddp() { inti,j; for(i=1;i<=21;++i)
coins
yew1eb
·
2013-05-18 09:00
POJ 1742
coins
题意:给出几种面值的钱币和对应的个数,看能否凑出1-m中的各个面值。分析:显然,多重背包问题。要求全部装满。而且对1-m遍历并计数,毫无压力~上代码:#include usingnamespacestd; intMIN_INT=(~(unsigned(-1)>>1)); intF[100001]; intA[101]; intC[101]; intmax(inta,intb) { return
warringah1
·
2013-05-17 15:00
poj
Coins
背包模板
Coins
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission
n89576537
·
2013-05-15 12:00
模板
UVa 674 - Coin Change 动态规划入门
*目标num,可以按时间阶段选取,比如第一次选取
coins
[0](也就是1)那总数num就应该减一,即num-
coins
[0] *这样循环下令j从0-4,也就是5种硬币都要选取,这样就不会遗漏也不会重复了
xuruoxin
·
2013-05-04 11:00
UVa 562 - Dividing
coins
背包
Dividingcoins It'scommonlyknownthattheDutchhaveinventedcopper-wire.TwoDutchmenwerefightingoveranickel,whichwasmadeofcopper.Theywerebothsoeagertogetitandthefightingwassofierce,theystretchedthecointog
cyendra
·
2013-04-29 16:00
题解
dp
动态规划
2345_Gold
Coins
(输入分多个块,每个块中有多行,每个输入块之间有空格,但最后没有空格)
Thekingpayshisloyalknightingoldcoins.Onthefirstdayofhisservice,theknightreceivesonegoldcoin.Oneachofthenexttwodays(thesecondandthirddaysofservice),theknightreceivestwogoldcoins.Oneachofthenextthreeday
asongsongsong
·
2013-04-21 23:00
UVa 562 - Dividing
coins
题意为将硬币分成俩堆使两堆硬币的差值最小。0-1背包,可以将硬币能凑成的所有和都计算出来,然后从sum/2(sum为所有硬币的和)开始向0探寻,直到找到所给硬币能凑成的最大的硬币和i,然后其最小差便为sum-2*i。代码如下:#include #include #include #include usingnamespacestd; constintMaxn=102; intcoin[Maxn],
GooMaple
·
2013-04-18 19:00
poj 1742
coins
多重背包,只是用来标记可以组成多少个小于m的值
#include #include #include #include usingnamespacestd; intf[100009]; intused[100009]; intmain(){ intn,m; inta[110]; intc[110]; while(cin>>n>>m,n+m){ for(inti=0;i>a[i]; for(inti=0;i>c[i]; memset(f,0,si
vegetable_bird_001
·
2013-04-14 20:00
背包
HDU1398-Square
Coins
,HDU1028-Ignatius and the Princess III(母函数)
SquareCoinsTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):6083 AcceptedSubmission(s):4105ProblemDescriptionPeopleinSilverlandusesquarecoins.Notonlytheyh
YCH1035235541
·
2013-04-14 13:00
hdu 2844
Coins
多重背包问题,求硬币可以有多少种组合(价值要小于m)#include #include intdp[100010]; intmain() { inti,j,n,m,cont[1001],num[1001],ans,k; while(scanf("%d%d",&n,&m),(n||m)) { for(i=0;i=m) { for(j=cont[i];j0) { for(j=m;j>=ans*cont
aixiaoling1314
·
2013-04-10 22:00
hdu 2844
Coins
多重背包
Coins
TimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K
LYHVOYAGE
·
2013-04-09 14:00
hdu 2844
Coins
(多重背包)
多重背包,是一个将背包装满的问题,所以在设初始值时,要将其设为无穷小即可,这里我是用我自己的想法,初始值仍然是0,这里可以理解装满的问题,我设初始值为0那么加了那些值之后,只要是能用那些硬币表示出来的数就一定会出现在f[]数组值里,而m表示这些硬币要凑出的数,所以f[m]如果等于m的话那么它就能凑出m这个数,否则就必不会等于,因为这里我们是将它的体积和价值视为一样的,即都是硬币的面值。这
ljd4305
·
2013-04-05 21:00
HDU 2844
Coins
(多重背包)
一个多重背包问题,有一点儿不同的是状态转移方程式了,这里的dp存的不再是价值和了,而是一个bool值,代表的是dp[i]中能不能凑齐到i的钱,和01背包很像,说明如下:假如现在要新添一个银币j,问是否能够凑齐到钱i .那么,如果现在需要凑齐的钱i 减去 硬币j的面值的钱为 i-A[j].cost,如果i-A[j].cost的钱依然能够凑齐,那么i也必定能凑齐(这个不用解释吧) dp[i]=dp[i
ygqwan
·
2013-04-02 09:00
uva562 Dividing
coins
01背包 平衡问题
链接:点我就是给你银币让你平衡。。。输出最小相差多少。。。。说实话题不明白怎么做。。但是AC还是没啥问题的。。。。就跟着感觉写啊写啊。。然后就AC了。。。#include #include #include #include usingnamespacestd; #definemin(a,b)((a)=coin[i];j--) { if(abs(sum-2*dp[j])>abs(sum-2*(d
liuqiyao_01
·
2013-04-01 16:00
dp
01背包
uva562
HDU 2844
Coins
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2844题意:Hibix要买一个最多要花费M的手表,但具体多少钱不知道。但他有n种硬币,价值分别为A1,A2...An,且分别有C1,C2...Cn个。问用这些硬币可以凑够钱数的种类。分析:多重背包。注意初始化就可以了。 SourceCode:#include #include #include using
HRHACMER
·
2013-03-31 16:00
UVA 562 Dividing
coins
【补充分析】
题目大意:给出硬币金额,要求分成2堆,差值最小,输出差值。解题策略:做过三个人分钱后,回来再看两人分钱,理解相对深刻一点。1,用一维数组dp[i]代表第一个人分到i钱,第二个人分到硬币总和sum-dp[i],如果该分配方案可行,dp[i]=1,否则为0;2,分钱过程中,枚举到当前硬币coin[i]时,如果dp[i-coin[i]]=1,那么dp[i]是不也可行呢?答案是肯定的。3,因为是两人分钱,
yzwall_
·
2013-03-27 17:02
ACM
UVA
背包问题
动态规划
HDU 2844
Coins
-- 多重背包
#include #include #include #include #include usingnamespacestd; #defineCLR(c,v)(memset(c,v,sizeof(c))) constintINF=1=cost;i--){ if(dp[i]=cost*k){ ZeroOnePack(cost*k,value*k); amount-=k; } } ZeroOnePa
x314542916
·
2013-03-25 21:00
C++
HDU 2844
Coins
(多重背包)
Coins
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java
·
2013-03-24 13:00
HDU
poj1742
Coins
三天了,从一点不会单调队列到AC。。。。。dp[i]表示i容量是否能凑出来num[i]表示当前i容量使用当前硬币的数目关于单调队列优化多重背包的思想,在《国家集训队2009论文集浅谈几类背包题》有详细介绍#include #include #include usingnamespacestd; inta[110]; intc[110]; booldp[100010]; intnum[100010]
zhangwei1120112119
·
2013-03-13 18:00
动态规划
背包
单调队列
Find
Coins
(25)
=EOF) { //input std::vectorcoins;
coins
.assign(FaceMax+1,0); while(n--) { inttmp; scanf("%d",&tmp);
coins
sunbaigui
·
2013-03-10 21:00
pat
ZJU
1048 Find
Coins
终于拿下了一题,其实很简单,输入时就将b[a[i]]标记为1,若发现有b[m-a[i]]为1,取其最小值。AC代码: //104819:48-20:02 #include constintNUM=100005; inta[NUM]; intb[NUM]; intmain() { intn,i,m; inttemp,min=NUM; //freopen("C:\\Documents
jjike
·
2013-03-07 19:00
hdu 2844
Coins
多重背包 二进制优化 算是否能组成的背包
hdu2844
Coins
#include #include #definesize100010 #definecsize110 intdp[size]; intc[csize]; intnum[csize
yan_____
·
2013-03-03 20:00
Coins
(多重背包,较好的题)
1、http://acm.hdu.edu.cn/showproblem.php?pid=28442、此题,主要注意优化,只用二进制优化,还是超时,ac的方法是将多重背包分成完全背包和01背包,01背包中再用二进制优化,题目大意:Whuacmers有n中硬币,价值分别为A1,A2,A3...An,每种硬币的个数为C1,C2,C3...Cn,要求的是从1到m,这些硬币可以凑成多少种价值,即有多少个dp
sdjzping
·
2013-02-27 21:00
hdu 1398 Square
Coins
母函数的第一道例题,可采用模版。整理模版:#include usingnamespacestd; constintlmax=10000; intc1[lmax+1],c2[lmax+1]; intmain() {intn,i,j,k; while(cin>>n) { for(i=0;i usingnamespacestd; constintImax=300; intc1[Imax+1],c2[I
jjike
·
2013-02-16 15:00
uva562Dividing
Coins
题意:给出n枚硬币,每个硬币有自己的面值,将这些硬币均分,有时无法均分,求分出来的两份硬币的最小差值分析:统计总面值然后用总面值的一半作为背包容量,01背包。代码:ViewCode1#include 2#include 3#include 4#include 5usingnamespacestd; 6constintMAXN=50000; 7constintINF=0x3f3f3f3f
·
2013-02-13 16:00
div
HDU2844
Coins
题目大意:HIBiX想买一个很nice的watch,他有一堆
coins
,HiBix估计这个表的价格不会超过m,所以就打算用硬币拼出在m价格以内的价格数以备付款.来一个"苹果式还债",哈哈...
kg_second
·
2013-01-06 22:00
UVA 10306 e-
Coins
大意不再赘述。思路:二维完全背包。一开始我以为用1维完全背包去求解,第二组测试数据过不了,后来发现这样处理有点困难。先定下来一定是背包问题,然后思考其他的解决方案,思考了好久,就是满足勾股定理这儿不好解决,后来干脆不管啥勾股定理,定义一个二维背包,直接将所有的最优值算出来,最后取满足勾股定理的值。转移方程:f[i][j]=min(f[i][j],f[i-cost1][j-cost2]+1),与一维
Wall_F
·
2013-01-03 00:00
Hdu 2844
Coins
大意不再赘述。思路:多重背包,POJ上的那道题须用单调队列写,慢慢学,这道题的数据要水很多,所以随便也过了。#include #include #include #include #include #include #include usingnamespacestd; constintINF=0x3f3f3f3f; intnum[110]; intV[110]; intf[101000];
Wall_F
·
2012-12-29 22:00
UVA 562 Dividing
coins
大意不再赘述。思路:我最开始想通过枚举构造一个背包,往背包里恰好放进多少个硬币,然后求放进背包里的币值与没放进背包里的币值相减的绝对值最小,测试数据与自己写了几组数据全过了,但是为什么会RE呢??明天再来看看。#include #include #include #include #include #include #include usingnamespacestd; constintMAXN
Wall_F
·
2012-12-15 23:00
UVA 674
Coins
Change
背包问题,一开始TLE,后来发现超INT啦,后来用unsignedlonglong加上滚动数组优化就过了。#include #include #include #include #include usingnamespacestd; typedefunsignedlonglongULL; constintMAXN=2020; constintINF=0x3f3f3f3f; ULLf[8010
Wall_F
·
2012-12-07 22:00
【OpenCV学习】凸包的绘制
凸包的鼻祖算法——“三硬币”算法(The Three-
Coins
Algorithm)。三硬币算
·
2012-12-04 22:00
opencv
codeforces 245C Game with
Coins
题意:一堆编号由1-n的箱子,每次取三个箱子,编号为n,2*n,2*n-1,取出其中的一枚银币,问最少取多少次可把里面的钱去完。当有箱子无法取到时(比如n小于三,或者为偶数),输出负一。做法:贪心策略。远方的箱子取到的机会最少,可能只有一次,而且在去远方的箱子时,近端的箱子也能跟着收益,所以,从第n个箱子进行逆推。#include #defineLMT105 //这个题目重要的是在删除的时候要有最
cqlf__
·
2012-11-22 10:00
Hdu 1398 - Square
Coins
完全背包 题目大意是有一个地方习惯用1到17的平方数作为货币,然后给你一个数额,求出有多少种组合来支付这个数额。比如说数额为10,那么一共有4种组合。分别是:10张1元的,1张4元的和6张1元的,2张4元的和2张1元的,1张9元的和1张1元的。 这题我是2A的,第一次做没有用完全背包,AC代码是#include #include #defineN310 intmain() { intn,i,
Chuck_0430
·
2012-11-17 11:00
找零钱问题
重新做这个问题,前面用 java做过 use strict; use warnings; my $count = 0; sub changes { my ($
coins
_ref
standalone
·
2012-10-29 15:00
Algorithm
perl
uva 674 Coin Change
给出一个钱数,求由1,5,10,25,50五种面值的硬币组成该钱数的方法数#include intdp[7489],
coins
[5]={1,5,10,25,50}; intmain() { inti,j
yan_____
·
2012-10-23 20:00
Uva 674 Coin Change
Suppose there are 5 types of
coins
: 50-cent, 25-cent, 10-cent, 5-cent, and 1-cent.
Magic____
·
2012-10-08 09:00
Uva 147 Dollars
New Zealand currency consists of $100, $50, $20, $10, and $5 notes and $2, $1, 50c, 20c, 10c and 5c
coins
Magic____
·
2012-10-08 09:00
Uva 562 Dividing
coins
It'scommonlyknownthattheDutchhaveinventedcopper-wire.TwoDutchmenwerefightingoveranickel,whichwasmadeofcopper.Theywerebothsoeagertogetitandthefightingwassofierce,theystretchedthecointogreatlengthandthu
Magic____
·
2012-10-07 22:00
poj 1742
coins
(优化的多重背包)
DescriptionPeopleinSilverlandusecoins.TheyhavecoinsofvalueA1,A2,A3...AnSilverlanddollar.OnedayTonyopenedhismoney-boxandfoundthereweresomecoins.Hedecidedtobuyaverynicewatchinanearbyshop.Hewantedtopayth
hellobabygogo3
·
2012-10-06 18:00
HDU 2844/POJ 1742
Coins
题目链接: 1)http://poj.org/problem?id=1742 2)http://acm.hdu.edu.cn/showproblem.php?pid=2844 思路:多重背包+二进制优化#include #include intdp[100010]; intc[110],v[110],n,m,sum; intcompletepack(inta,i
qinmusiyan
·
2012-09-18 09:00
POJ 3260The Fewest
Coins
(DP)
题意:FJ买一个T元的东西,求总钱张数最小值。即付出的张数,加找回的张数的和的值最小。。这题真纠结啊。。。思路一开始是对的。。。但是初始化为-1 怎么交都错,,,,郁闷死了。。#include #include #include #include #include #include usingnamespacestd; constintM=10001; constintN=109; consti
binwin20
·
2012-08-29 21:00
poj 3210
Coins
/*思路:若n为偶数: 1:若初始状态为偶数正面+偶数反面,要想变成全正或全反,翻转的次数必为偶数。 例如:○○●●●●则翻转2,4,6,8……次均可。 2:若初始状态为奇数正面+奇数反面,要想变成全正或全反,翻转的次数必为奇数。 例如:○○○○○●则翻转1,3(先将●翻为○,再将任一个○翻两下),5,7……次均可。 因次,我们就无法得到一个确定的翻转次数x,让它能使任意初始状态的硬币变成全为正或
yzl_rex
·
2012-08-27 15:00
Coins
多重背包
ProblemDescriptionWhuacmersusecoins.TheyhavecoinsofvalueA1,A2,A3...AnSilverlanddollar.OnedayHibixopenedpurseandfoundthereweresomecoins.Hedecidedtobuyaverynicewatchinanearbyshop.Hewantedtopaytheexactpr
No_Retreats
·
2012-08-17 20:00
c
优化
input
each
output
hdu1398 Square
Coins
母函数水题
SquareCoinsTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):5101 AcceptedSubmission(s):3447ProblemDescriptionPeopleinSilverlandusesquarecoins.Notonlythe
hnust_xiehonghao
·
2012-08-13 08:00
c
Integer
input
Shapes
Numbers
combinations
hdu 1398 Square
Coins
(母函数)
母函数。。。与模版有点不同模版里,物品是1,2,3,4,5,......,n这里是1,4,9,---17^2#include"stdio.h" #defineMAX10000 intc1[MAX],c2[MAX]; intmain() { intn,i,j,k; while(scanf("%d",&n)!=-1&&n) { for(i=0;i<=n;i++) { c1[i]=1;c2[i]=0;
yyf573462811
·
2012-07-28 09:00
c
硬币找零问题
1.QuestionGivenalistof'N'
coins
,theirvaluesbeinginanarrayA[],returntheminimumnumberofcoinsrequiredtosumto'S
nomad2
·
2012-07-22 13:00
算法
unix
vector
list
input
output
POJ 1742
Coins
(背包)
题目链接:.........题目大意:给出n种面值的硬币,和这些硬币每一种的数量,要求求出能组成的钱数(小于等于m)Ps:用多重背包的方法做在poj上超时了(hdoj行),然后在网上看到一个方法,用f[j]表示能组成这价值为j的钱和不能(0与1),用used[j]表示当前这种面值为j时用了A[i]多少次。code:#include #include intmain() { inti=0,j=0,n
ulquiorra0cifer
·
2012-07-16 13:00
c
POJ 1742
Coins
(背包问题)
来源:http://poj.org/problem?id=1742题意:给你一定数量和面值的纸币,在不超过总钱数m的情况下,用所给的纸币共能形成多少种钱数思路:本来想到多重背包上面了,用多重背包写了一下,tle,后来用二进制优化,还是tle,后来看dis,说用优先队列,网上搜资料,没看懂,,后来看acmj1991的博客,说是用数组标记法,然后不懂神马是数组标记法。后来才知道,其实就是个常规的方法,
wmn_wmn
·
2012-07-10 16:00
上一页
21
22
23
24
25
26
27
28
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他