关闭

【动态规划】HDU 5781 ATM Mechine

标签: 题解动态规划HDU概率DP
234人阅读 评论(0) 收藏 举报
分类:

题目链接:

  http://acm.hdu.edu.cn/showproblem.php?pid=5781

题目大意:

  一个人有[0,K]内随机的钱,每次可以随意取,但是不知道什么时候取完,取钱超过剩余额度会警告一次,最多警告不能超过W。求期望取出钱的次数。

题目思路:

  【动态规划】

  二分居然错了。。。看来二分出的答案不一定最优。。起码第三个样例过不去。

  f[i][j]表示钱在[0,i]区间内,警告次数不超过j的期望取钱次数。那么取一次钱k相当于把钱分成两块,[0,k]和[k+1,i],即[0,k]和[0,i-k]

  枚举k即可推出答案。

  f[i][j]=min(f[i][j],(f[i-k][j]*(i-k+1)+f[k-1][j-1]*k)/(i+1)+1);




//
//by coolxxx
//#include<bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<string>
#include<iomanip>
#include<map>
#include<memory.h>
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//#include<stdbool.h>
#include<math.h>
#define min(a,b) ((a)<(b)?(a):(b))
#define max(a,b) ((a)>(b)?(a):(b))
#define abs(a) ((a)>0?(a):(-(a)))
#define lowbit(a) (a&(-a))
#define sqr(a) ((a)*(a))
#define swap(a,b) ((a)^=(b),(b)^=(a),(a)^=(b))
#define mem(a,b) memset(a,b,sizeof(a))
#define eps (1e-8)
#define J 10
#define mod 1000000007
#define MAX 0x7f7f7f7f
#define PI 3.14159265358979323
#define N 2004
using namespace std;
typedef long long LL;
int cas,cass;
int n,m,lll,ans;
double f[N][24];
void init()
{
	int i,j,k;
	for(i=0;i<18;i++)f[0][i]=0;
	for(i=1;i<N;i++)f[i][0]=2000000000;
	for(j=1;j<18;j++)
	{
		for(i=1;i<N;i++)
		{
			f[i][j]=2000000000;
			for(k=1;k<=i;k++)
				f[i][j]=min(f[i][j],(f[i-k][j]*(i-k+1)+f[k-1][j-1]*k)/(i+1)+1);
		}
	}
}
int main()
{
	#ifndef ONLINE_JUDGE
//	freopen("1.txt","r",stdin);
//	freopen("2.txt","w",stdout);
	#endif
	int i,j,k;
	init();
//	for(scanf("%d",&cas);cas;cas--)
//	for(scanf("%d",&cas),cass=1;cass<=cas;cass++)
//	while(~scanf("%s",s+1))
	while(~scanf("%d",&n))
	{
		scanf("%d",&m);
		printf("%.6lf\n",f[n][min(m,17)]);
	}
	return 0;
}
/*
//

//
*/


0
0
查看评论

hdu 5781 ATM Mechine

Problem Description Alice is going to take all her savings out of the ATM(Automatic Teller Machine). Alice forget how many deposit she has, and this ...
  • zoro_n
  • zoro_n
  • 2016-08-08 10:46
  • 190

HDU 5781 ATM Mechine

Problem Description Alice is going to take all her savings out of the ATM(Automatic Teller Machine). Alice forget how many deposit she has, and thi...
  • jtjy568805874
  • jtjy568805874
  • 2016-08-03 16:44
  • 178

HDU 5781 ATM Mechine dp

题目链接:这里 题意: 你在银行里面存了不超过k元的钱,然后你可以取钱。 如果你取的钱超过了你在银行存的钱,那么你会被警告。 你最多被警告w次,问你采用最优策略之后,期望取完所有钱的次数是多少 解法: E(i,j):存款的范围是[0,i],还可以被警告j次的期望值。 E(i,j) = ...
  • just_sort
  • just_sort
  • 2017-03-17 15:39
  • 373

HDU 5781 ATM Mechine (概率DP)

这是一道比较简单的概率dp题目,但难的是特么的这是概率dp,弱没做过啊…… 研读完各类题解之后,理解如下: dp[k][w]表示,上限为k,警告次数还剩w次时的 取完所有钱次数的期望 首先,要取完所有钱,总的情况是[0,k]各取一次,所以分母是k+1.假设实际的存款是x dp[k-y][w]...
  • AngOn823
  • AngOn823
  • 2016-08-06 16:54
  • 174

HDU 5781 ATM Mechine(概率dp)

这题是一个比较难的概率题,你只知道上限是k,并且被警告的次数最多是w次,然后问你最优策略下取完所有钱的次数的期望这题是一个比较难的概率题,你只知道上限是k,并且被警告的次数最多是w次,然后问你最优策略下取完所有钱的次数的期望 dp[k][w]表示钱的范围是0−k,剩余w次警告的机会的期望dp[k]...
  • Miracle_ma
  • Miracle_ma
  • 2016-08-12 14:30
  • 214

【HDU 5781】ATM Mechine(概率DP)

【HDU 5781】ATM Mechine(概率DP)ATM MechineTime Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub...
  • ChallengerRumble
  • ChallengerRumble
  • 2016-08-03 15:40
  • 854

HDU 5781 ATM Mechine(dp)

Description 知道银行存款余额上限k(余额可能是0~k中任一个),尝试取钱,对于一个尝试金额,如果余额够则能取出,否则警告一次,警告超过w次就会被警察抓走,问取出所有钱的尝试次数的最小期望 Input 多组用例,每组用例输入两个整数k和w表示存款余额上限以及警告次数上限 (1<...
  • V5ZSQ
  • V5ZSQ
  • 2016-08-26 09:03
  • 125

HDU 5781 ATM Mechine(概率DP)

Problem Description Alice is going to take all her savings out of the ATM(Automatic Teller Machine). Alice forget how many deposit she has, and this s...
  • baidu_27438681
  • baidu_27438681
  • 2016-08-03 17:30
  • 253

HDU - 5781 ATM Mechine 概率dp

传送门:HDU5781 题意:Alice忘记了自己银行里存了多少钱,只记得在[0,k]之间。每次取钱如果余额足够就出钱,否则警告一次,警告超过w次就会把你抓起来,在不被警察抓起来的前提下,Alice采取最优策略(尽量使取钱次数最少),求期望取钱多少次把钱全部取完。 官方题解: dp...
  • lxy767087094
  • lxy767087094
  • 2017-09-03 21:04
  • 64

HDOJ 5781 ATM Mechine

概率题
  • kevin66654
  • kevin66654
  • 2016-08-05 00:47
  • 163
    个人资料
    • 访问:80290次
    • 积分:2541
    • 等级:
    • 排名:第17064名
    • 原创:243篇
    • 转载:2篇
    • 译文:0篇
    • 评论:17条
    文章分类
    最新评论