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
hdu2955
HDU2955
Robberies 一道01背包问题
HDU2955
这一题,很有趣味。首先,如果是按照照常的思路,在内层for循环,没办法遍历背包容量(概率),概率是double/float型的数据。
117瓶果粒橙
·
2020-08-14 05:08
#
HDU
#
动态规划
#
背包
hdu2955
Robberies (01背包)
转载请注明出处:http://blog.csdn.net/u012860063题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmericanmovies,andknowsthatthebadguysusuallygetscaughtin
田益铭
·
2020-08-14 05:19
背包
hdu2955
Robberies(背包问题)
RobberiesTimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):13043AcceptedSubmission(s):4827ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmericanmovies,a
MiniSheep_CS
·
2020-08-14 05:19
背包问题
杭电(hdu)OJ题目
HDU2955
Robberies 算法想的复杂了
好多年没写这种动态规划程序了,最近忽然想起来当年的爱好,写些ACM程序。这题是个背包问题,然而背包的解法我忘光了。。。在有AB两个银行时,抢某个银行被抓的概率的计算假设A为pA,B为pB则p被抓=pA+(1-pA)*pB=pB+(1-pB)*pA则p不被抓=(1-pA)*(1-pB)故对输入全部用1减下2就是这题目要对钱当做体积,求一个当前钱数的不被抓概率之后就是01背包的过程不再做加法而是乘法了
a3976540987
·
2020-08-14 04:14
HDU2955
Robberies
RobberiesTimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmericanmovies,andknowsthatthebadguysusuallygetscaughtintheend,oft
勤劳是一种恶习
·
2020-07-02 04:37
dp
HDU
题解
HDU
dp
题解
hdu2955
Robberies (01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955最小风险概率=1-最大安全概率状态转移方程dp[j]=max(dp[j-val[i]]*weight[i],dp[j])#include#include#defineMAXN10002doubledp[MAXN],weight[MAXN];intval[MAXN];intmain(){intn,t
不可不戒
·
2020-06-24 03:02
贪心&背包
hdu2955
B - Robberies(01背包)
题目http://acm.hdu.edu.cn/showproblem.php?pid=2955题意一个被抓概率pmax一个要偷银行数n以下n行每行一个vi代表价值一个pi代表被抓概率在不超过pmax的情况下,最大化偷到的vi的价值思路来源https://blog.csdn.net/jianbagengmu/article/details/71091755题解就是简单的01背包哈注意把被抓概率转化
Code92007
·
2019-01-16 20:38
背包
hdu2955
Robberies --01背包
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955一:原题内容ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmericanmovies,andknowsthatthebadguysusuallygetscaughtintheend,oftenbecausetheybecometoog
LaoJiu_
·
2016-04-21 19:00
HDU2955
Robberies DP
RobberiesTimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):18802 AcceptedSubmission(s):6940ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmerican
qdbszsj
·
2016-04-14 22:00
HDU2955
(01背包)
RobberiesTimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):18778AcceptedSubmission(s):6933ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmericanmovies,a
mrlry
·
2016-04-14 19:00
hdu2955
Robberies(01背包)
只有我一个人觉得这题题意很难懂么。。。先是给出几组数据,每组数据第一行是总被抓概率p(最后求得的总概率必须小于他,否则被抓),然后是想抢的银行数n。然后n行,每行分别是该银行能抢的钱数m[i]和被抓的概率p[i],求最大逃跑概率。被抓的概率越大,逃跑概率越小。第一点就是最容易犯错的一点,把所求总被抓概率看成背包容量。这就有两个很明显错误,求的就是1-被抓概率=逃跑概率,限制条件和最大背包容量不能同
Flynn_curry
·
2016-03-21 22:04
hdu
ACM-动态规划
HDU2955
(01背包)
RobberiesTimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):18064 AcceptedSubmission(s):6671ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmerican
baneHunter
·
2016-02-12 13:00
hdu2955
Robberies 01背包
RobberiesTimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):18054 AcceptedSubmission(s):6668ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmerican
半根毛线
·
2016-02-09 23:00
杭电
hdu2955
0-1背包 Robberies
RobberiesTimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):17797 AcceptedSubmission(s):6574ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmerican
mengxiang000000
·
2015-12-27 17:00
背包
背包
杭电
杭电
0-1背包
杭电2955
动态规划集合
少说也做了,30 40道了但是感觉还是没有入门,接下来一星期将重新做动态规划,hdu入门的,uva入门的,外加poj的,把动态规划都重新学一下 01背包知识点 1.Robberies (
hdu2955
·
2015-11-13 16:23
动态规划
hdu2955
Robberies 01背包
题意: Roy 去抢N个银行,去抢第j个银行时能得到Mj的钱,被抓的概率为Pj。 问在被抓的概率不大于P时能抢到的最多的钱是多少。 1 #include <iostream> 2 #include <cstdio> 3 #include <map> 4 #include <cstring> 5 using namespace
·
2015-11-13 10:32
HDU
hdu2955
(变形01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 分析:被抓概率可以转换成安全概率,Roy的安全概率大于1-P时都是安全的。 抢劫的金额为0时,肯定是安全的,所以dp[0]=1;其他金额初始为最危险的所以概率全为0; #include <cstdio> #include
·
2015-11-13 06:36
HDU
简单的背包变形HDU1203,
HDU2955
今天一直在写背包,不过中间停了一段时间在写shell。 一直在做01背包。今天做了这两题很相似的背包 首先是HDU1203 Speakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。Speakless没有多少钱,总共只攒了n万美元。他将在m个学校中选择若干的(当然要在他的经
·
2015-11-11 08:20
HDU
Hdu2955
//Robberies /*思路比较巧,如果直接根据题意去想,用被捕的概率来做就比较困难; 基本思路:以钱为容量,在钱相同的情况下逃跑成功的概率要最大*/ #include #include float max(float a,float b); int main() { int t,n,m[105],sum,r; float pro,p[105],dp[10005]; int i,j; w
52apple
·
2015-11-08 17:02
背包
HDU2955
Robberies
题目链接实质是01背包问题,关键还是找出转移方程。顺着题意做非常困难,需要转换思维,把最大风险指数改成最小逃跑所需指数,各银行的被抓指数也改成能逃跑的指数pi=1-pi,因此想要成功逃跑,总逃跑指数必须大于或等于最小逃跑所需指数,因为逃跑是独立事件,所以总逃跑指数=各逃跑成功指数相乘(我理解了好久才搞懂,可能也是我比较蠢的原因(┬_┬)重要!),在dp过程中设钱的数量为背包容量的大小dp[j]表示
L954688947
·
2015-10-20 21:00
dp
01背包
Robberies(简单的01背包
HDU2955
)
RobberiesTimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):16565AcceptedSubmission(s):6087ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmericanmovies,a
huayunhualuo
·
2015-08-27 08:00
hdu2955
链接:点击打开链接题意:抢银行,给出一个被抓的概率的上限(超过这个概率则被抓),然后给出几组数据分别为物品的价值和被抓的概率,求在不被抓的情况下能取得的最大价值;代码:#include #include #include #include #include usingnamespacestd; doubledp[10005],v[10005]; intm[10005]; intmain(){ in
stay_accept
·
2015-07-02 11:00
hdu2955
Robberies 01背包的变形
感觉网上的这个题解比答案给的好多了,至少人家想到了用01背包变形->_->把钱的总和想象成包的容量,容量最多也就是sum嘛~然后先不考虑概率是否够,递推结束后从大数向小数查找满足概率就输出即是解本来以为想明白了就没事了,还有一个梗是dp数组最大应该是钱数总和,所以数组不能开小了,就因为这RE了好多次,这要是比赛不还的后悔死啊—>_—>还是欠练再就是为了保险起见还是max自己写一个吧~~总的来说就是
zhou_yujia
·
2015-07-02 10:00
hdu2955
Robberies
ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmericanmovies,andknowsthatthebadguysusuallygetscaughtintheend,oftenbecausetheybecometoogreedy.Hehasdecidedtoworkinthelucrativebusinessofbankrobbe
Kirito_Acmer
·
2015-06-20 15:00
背包DP
[
HDU2955
]Robberies[dp]
题目链接:[
HDU2955
]Robberies[dp]题意分析:Roy要去偷银行的钱,每个银行都存在被抓住的概率。他麻麻担心他被抓,所以如果他抢劫的银行被抓住的概率大于P,她麻麻就不放心了。
CatGlory
·
2015-05-16 15:00
dp
HDU
概率
排位赛dp总结(HDU 2955,HDU 1864,HDU 1421)
HDU2955
:做这道题是,错误的认为题目所给的浮点型的数据都是精确到小数点后两位,然后把概率放大100倍,转换成为熟悉的01背包。。faint。。
Miracle_ma
·
2015-03-29 16:00
ACM
hdu2955
Robberies (01背包概率)
此段转自http://qianmacao.blog.163.com/blog/static/203397180201221510548987/题目:http://acm.hdu.edu.cn/showproblem.php?pid=2955#include #include #include usingnamespacestd; intmain(){ intT,N; doubleM; cin>>T
f1024042400
·
2014-12-27 18:00
HDU2955
Robberies 01背包
题目大意:Roy要抢劫银行,每抢一个银行都有一定的被抓概率,现在给你一个安全概率,以及每个银行的库存现金和抢劫该银行被抓的概率,问你在安全概率的情况下Roy最多可以抢劫多少现金。乍一看是背包问题,其实就是背包问题,只要稍微变形一下就行了,可以看出,本题中安全概率是背包的容量,每个银行的被抓概率是质量,但这样肯定是行不通的,因为我们要用dp[ i]数组来纪录质量为i时的最大价值,那么质量显然要为整数
AC_Gibson
·
2014-11-26 13:00
hdu2955
给定一个被抓的概率p,还有一些银行,给定这些银行的钱数以及抢劫这些银行被抓的概率。求在被抓的概率不大于p的情况下最多可以抢到多少钱。01背包。dp:dp[i]表示抢劫i元逃跑的概率,则dp[i]=max(,dp[i],dp[i-v[j]]*(1-w[i]));抢劫多个银行逃跑的概率等于抢劫每个银行逃跑概率之积。#include#include#include#include#include#inc
dezhonger
·
2014-09-26 03:17
dp
HDU 2955
HDU2955
这道题目十分的经典。是一个01背包问题,但又高于十分基础的01背包。首先,这里面使用了概率double类型,所以便不能使用它作为w,c。
Change__
·
2014-08-05 08:51
ACM水题之路
01背包水题篇之
HDU2955
——Robberies
原来是想dp[i],表示不被抓概率为i所能抢到的最大钱(概率1-100)后来看了别人的博客是dp[i]表示抢了i钱最大的不被抓概率,嗯~,弱菜水题都刷不动。那么状态转移方程就是dp[i]=max(dp[i],dp[i-money]*p),初始化dp(0~maxn)为0,dp[0]=1(1毛钱都没抢你抓个毛线啊,哥是良民~)又是贴代码环节~#include #include #include #in
u014141559
·
2014-07-20 19:00
hdu2955
Robberies (01背包)
转载请注明出处:http://blog.csdn.net/u012860063题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmericanmovies,andknowsthatthebadguysusuallygetscaughtin
u012860063
·
2014-06-21 19:00
算法
HDU
01背包
HDU2955
Robberies(特殊思路,概率背包)
RobberiesTimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):10405 AcceptedSubmission(s):3827ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmerican
u014569598
·
2014-05-07 23:00
背包
hdu2955
Robberies
hdu2955
0-1背包变形 抢银行
RobberiesTimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):9938 AcceptedSubmission(s):3705ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmericanm
u011455899
·
2014-04-02 20:00
HDU2955
01 背包变形
dp[i][j]:表示从前i家银行中抢劫某些家,得到j价值而不被抓住的概率。dp[j]=max(dp[j],dp[j-val[i]]*(1-w[i])));将全部银行的钱当做背包的最大体积那么每家银行的钱则当做物品的体积那么被抓的概率当做物品的价值那么便容易推出我们所需要的动态方程:dp[i]=max(dp[i],(dp[i-money]*(1-rp)));//money当前银行钱,rp当前被抓概
u012861385
·
2013-11-16 21:00
hdu2955
01背包变形
//
hdu2955
#include #include #include #include #include #include #include #include #definelsonl,m,rt=v
qq415200973
·
2013-09-23 20:00
hdu2955
Robberies
Robberies题目注意的是,概率的精度问题,不是只有两位小数。。有很多位,所以要转换思路。我也是看了网上的解题报告后,懂的。不同之处:一般的理解,背包容量应为概率1。转化思路,背包容量为银行总的钱数。改为在总钱数一定的情况下,通过少抢点钱来增加自己安全的逃跑概率,在大于等于给定逃跑概率时求解所能获得的最大钱数。#include usingnamespacestd; #definemax(x,y
guodongxiaren
·
2013-08-18 13:00
01背包
hdu2955
(01背包)
RobberiesTimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):7975 AcceptedSubmission(s):3018ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmericanm
xj2419174554
·
2013-08-07 20:00
动态规划
HDU2955
Robberies
RobberiesTimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):7844 AcceptedSubmission(s):2963Proble
lsh670660992
·
2013-08-04 14:00
动态规划
转换思维
滚动数组
hdu 2955 Robberies(01背包变形)
题目链接:
hdu2955
思路:将各个银行的总资产当做背包的容量V,然后求最大的逃跑率初始化:抢劫的金额为0时,一定是安全的,所以d[0]=1;其他金额初始为逃跑概率最小,全为0 #include #include
·
2013-07-31 20:00
HDU
HDU2955
:Robberies(01背包)
ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmericanmovies,andknowsthatthebadguysusuallygetscaughtintheend,oftenbecausetheybecometoogreedy.Hehasdecidedtoworkinthelucrativebusinessofbankrobbe
键盘上的舞者
·
2013-04-14 21:55
背包
hdu2955
Robberies 01背包 dp
链接:点我题意:一个强盗要去抢劫银行,对于每个银行来说,都有一个不被抓的概率p,和能抢劫到的钱数money,每个银行最多只可以被抢劫一次。问在不被抓的总概率P下,怎样得到最大价值的钱数。分析:我第一眼看的时候觉得见到01,然后弄一个dp[100],把概率*100。。。。。。如果你和我一样这么想。。那么恭喜你上当了!需要把money当做下标。。。保存的是概率。。。状态转移方程:dp[j]=max(d
liuqiyao_01
·
2013-04-01 19:00
dp
ACM
01背包
hdu2955
hdu2955
解决问题的思路不错 逆向求解
//题意:Roy想偷银行里的钱,但是在偷每个银行里的钱时,都冒着一定被抓的风险,为了能让被抓的风险降低为(小于等于p) //求所偷的最大的值。 //思路:刚开始以为将被抓的概率X100000,然后把p当做背包的容量,利用01背包求解,但是最后还是错了,因此小数点后面的位数太多了。 //看了下别人的思路,感觉挺好。转化为最大的存活概率。 //即:将银行所有的资产转化为背包的容量,求存活率最高,注意当
wahaha1_
·
2013-03-29 20:00
【标记】
hdu2955
经典变形01背包
http://acm.hdu.edu.cn/showproblem.php?pid=2955本来转化成01背包TLE~~况且浮点数不一定是两位小数转换思想将总的钱数作为背包容量,逃跑成功率为价值,dp[i][j]=max(dp[i-1][j],dp[i-1][v-c[i]]+w[i]); dp[i]表示最大逃跑成功率,初始化的时候d[0]=1;其余d[i]=0;即表示抢m钱时的最大成功率#incl
JustSteps
·
2013-03-24 15:00
HDU 2955 题 Robberies
HDU2955
题RobberiesProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmericanmovies,andknowsthatthebadguysusuallygetscaughtintheend
让JAVA翱翔天地之间
·
2013-02-16 22:00
hdu2955
之01背包
http://acm.hdu.edu.cn/showproblem.php?pid=2955题意简述:一个小偷要去抢银行,每个银行有两个值,分别为钱的数量和被抓的概率,劫匪要保证在给定的被抓的概率内抢到最多的钱。 首先输入一个概率p代表劫匪在抢钱时被抓的概率小于p是就可以抢银行,输入n代表n个银行,接下来n行每行有两个数分别为该银行的钱数和被抓的概率.思路: 假设总共抢了j元钱
xingyeyongheng
·
2012-12-03 12:00
HDU2955
Robberies
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955是一道简单的背包问题,最重要的是找动态转移方程,可以将所用银行里的钱看作背包容量,每一家银行的钱看作重量,不被抓到的概率看作价值,则转移方程为:dp[j]=max(dp[j],dp[ j-bag[i].v]*(1-bag[i].p));#include #include usingnamespac
qinmusiyan
·
2012-09-14 16:00
struct
ini
【DP(背包)】
hdu2955
Robberies
Robberieshttp://acm.hdu.edu.cn/showproblem.php?pid=2955ProblemDescriptionTheaspiringRoytheRobberhasseenalotofAmericanmovies,andknowsthatthebadguysusuallygetscaughtintheend,oftenbecausetheybecometoogre
ACM_Ted
·
2012-08-08 20:00
hdu2955
/*分析: 01背包小变异。dp[i][l]=min(dp[i-1][l],dp[i-1][l-E[i].m]+E[i].p*(1-dp[i-1][l-E[i].m]))。 2012-05-10*/#include"stdio.h" #include"string.h" doublemin(doublea,doubleb) { retur
Ice_Crazy
·
2012-05-10 17:00
hdu 2955(Robberies)
hdu2955
(Robberies) 1 /* 2 Author: Leo.W 3 Descriptipn: 抢银行。
冰王子Leo与ACM一起的成长
·
2012-03-13 15:00
上一页
1
2
下一页
按字母分类:
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
其他