NEYC 2017 atm Day6 T1

                                                                                      自动取款机

【问题描述】

小沈阳在小品里说过:“人生最痛苦的事情是人死了,钱还没花了”。

于是小宋(80 岁)决定要将所有的储蓄从 ATM 机中取出花光。 小宋忘记了她有多少存款(银行卡密码她是记得的 2333),这个奇怪的 ATM 不支持查询存款余额功能。小宋知道她存款的唯一信息是存款上限是 K 元,这意味着小宋的存款 x 是 0 到 K 之间的随机整数(包括 K)。

每次小宋都可以尝试从 ATM 中拿出一些钱。 如果她要取的 y 元钱不大于她的存款, ATM 将立即给小宋 y 元。 但如果她的存款小于 y,小宋将收到 ATM 的警告。

如果小宋被警告超过 w 次,那么她将被警方带走,作为小偷。小宋希望取钱次数期望最小。

由于小宋聪明,她总是采取最好的策略。

请计算小宋将所有储蓄从自动取款机中取出期望次数最小值是多少,并不得被警方带走。

【输入格式】

每个测试点包含多组测试数据(最多 10 组)每组测试数据包含两个整数 K,和 W

1≤K,W≤2000

【输出格式】

对于每组测试数据输出取钱次数最小的期望值,舍入到小数点后 6 位。

【样例输入】

1 1

4 2

20 3

【样例输出】

1.000000

2.400000

4.523810

然而她并不知道赵本山说了:“人生最最痛苦的事情是人活着呢钱没了”。。。

这是个悲伤的故事。

这个..期望概率dp我很渣,渣的很
我们不知道的是有多少钱到底,但我们可以通过每次取多少钱来改变期望最小步
首先,我们先确定一下状态,f[i][j]表示在【知道】i为上限时,还剩j次的期望,所以从小到大(因为表示的是表示的一个定值嘛跟后面
没关系的,而且这个不管他准不准,这和题目的描述是一样的)
蓝后,for(int v=1;v<=i;v++)
             f[i][j]=Min(f[i][j],(i+1-v)/1.0/(i+1)*f[i-v][j]+v/1.0/(i+1)*f[v-1][j-1]+1.0);
这才一半不到,重要的是,老太太很精每个状态都是最佳的所以他当然以最小的代价来知道当前多少为上限,就算是准确知道,也不过是
用log2 2000的次数来知道我到底有多少,所以知道i时j最多到10就不再改变,也就是说把两千看成10位二进制来一位一位的取再有你看这
些状态都是确定的,和数据无关,所以我们就先泡一遍2000*2000之后就高枕无忧了

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 2001
using namespace std;
typedef double D;
D f[MAXN][12];
int k,m;
inline D Min(D x,D y){return x<y?x:y;}
int main()
{
    //freopen("atm.in","r",stdin);
    //freopen("atm.out","w",stdout);
    for(int i=1;i<=2000;i++)
     for(int j=0;j<=11;j++)
            f[i][j]=1e10;
    for(int i=0;i<=11;i++)
           f[0][i]=0;
    for(int i=1;i<=2000;i++)
     for(int j=1;j<=11;j++)
      for(int v=1;v<=i;v++)
        f[i][j]=Min(f[i][j],(i+1-v)/1.0/(i+1)*f[i-v][j]+v/1.0/(i+1)*f[v-1][j-1]+1.0);
    while(scanf("%d%d",&k,&m)==2)
    {
        m=11<m?11:m;
        printf("%.6lf\n",f[k][m]);
    }
}
时间: 2024-11-05 11:55:29

NEYC 2017 atm Day6 T1的相关文章

NEYC 2017 游记

day 1:  result:    sum_rank: 11   school_rank:1   水题在你高估的时候就已经不水了   sum:有个快速乘类似快速幂:       int ans=0;      while(y) { if(y&1)ans=(ans+x)%P: y>>=1; x=(x<<1)%P; } rest: sum cactusday 2:  result:    sum_rank: 18   school_rank:6 beetle:甲虫要离散,特殊

XJOI网上同步训练DAY6 T1

思路:考试的时候直接想出来了,又有点担心复杂度,不过还是打了,居然是直接A掉,开心啊. 我们发现,Ai<=7,这一定是很重要的条件,我们考虑状态压缩,去枚举路径中出现了哪些数字,然后我们把原来n个点拆成 我们枚举数字的最小公倍数 个,因为如果一个数模某个数等于0,那么模它的因数也一定是0,因此我们的思路就是拆点最短路. 1 #include<cstdio> 2 #include<cmath> 3 #include<cstring> 4 #include<al

day5模块学习 -- os模块学习

python基础之模块之os模块 os模块 os模块的作用: os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小-- 另外,os模块不受平台限制,也就是说:当我们要在linux中显示当前命令时就要用到pwd命令,而Windows中cmd命令行下就要用到这个,额...我擦,我还真不知道,(甭管怎么着,肯定不是pwd),这时候我们使用python中os模块的os.path.abspath

【口胡】简谈福建省夏令营

Day1 t1:线段树区间修改 t2:字符串哈希+尺取 t3:dp Day2 t1:乱搞 t2:贪心 t3:八数码.各种搜索+剪枝 Day3 三题搜索 Day4 t1 t3普及组 t2:设状态f[i][j][k],前i行,j列一个,k列二个,每行每列最多两个炮.然后dp Day5 t1:正反计算一次最大子段和O(n) 枚举分界点 t2:用f(i,x,y,a,b)表示从1,1到x,y,从N,N到a,b,路径上相同的方案数,压掉y,b两维 t3:考虑次方的和可以这样计算 用表示后i个能获得的最大价值

10个基于jquery的超酷动画教程和插件推荐

在场的几个人,只有鬼炙的攻击类型是暗黑魔法,这件装备给紫韵儿的话,或许能加上一些法力值,但是绝对算得上是浪费,消亡套装只有在鬼炙身上才能真正的体现价值! [亡灵水袋](暗金器)亡灵生物用于存储生命气血的容器,使用后,可增加使用者400个空格的包裹空间,此类物品只能使用一件. 在逐风者的一声暴喝之下,整个大地都似乎在颤抖,更加要命的是,一个非常巨大的龙卷风暴在这一片大地上飞快凝成,瞬间便横扫了一切,我们脚下的岩石开始崩裂,白云山脉这个庞然大物,居然在片刻间--四分五裂! 毫无疑问,雪月工作室的MM

谷歌敦促android开发者停止使用菜单按钮

鲜血溅落在那泛光的绿珠之上,顿时惊变忽生,那珠子猛然绽放出耀眼光芒,一股劲风在周围肆虐起来,吹动着那些碎石飞舞起来,但是凌雪和珠子却被笼罩在一个帷幕之中,丝毫不受到影响. 飞火眼里立刻透出向往的神色,笑道"这样的话,那就太好了!我只是怕雪月的门槛高,不肯要我们飞火这种小行会--" 魂殇挥舞长剑,猛然一个剑荡四方,这可比灵儿的剑荡四方要原汁原味多了,一击之下,强悍如天将军亦被震得连连飞退,好不容易稳住了身影,魂殇却又已经掩杀而至,利剑一挥,重击之后,一个紫色的骷髅光芒出现在天将军的头顶之

程序编译为何失败

凌雪告诉我,在落羽山上,有一个食人魔洞穴,是一个食人魔家族的群居地,值得一刷,那里的怪物等级很高,前往探险的玩家早已被送回了城. "呜呜呜--笨蛋,当然不是啦!"凌雪也不再绕弯子,笑着说"今天下午,我跟姐姐打了一个72级的黄金级BOSS,爆出了一柄黄金器的斧头,卖给了一个很有钱的女兽人狂战士,赚了12万呢!" 又是一轮千刃箭,在食尸鬼群中立刻冒出一大片的伤害数字,均在800点之上!然而,当我击出下一次千刃箭的时候,却已经有四五只食尸鬼紧逼了上来,锋利的爪刺凌空挥舞,

怎么才能书写高质量jquery代码

我略一沉思"凌雪说的,确实可以一试,咱们如果在前期就强势击败这群人夺得将军令的话,把雪月的旗帜往小镇里一杵,谁敢不给几分颜面?" 没过几分钟,我忽然收到鬼炙的一条短信"书生,我们在暮光城东门那里看到不少傲世的玩家在集结,是不是他们又有什么事情了?" 这时,灵儿已经飞跃上前,一击剑荡四方,紧接着化身为霜狼,一记极冻之牙之后,犀牛王的全身凝上了一层好看的冰霜. 再次花掉一个回城卷轴来到了白云城,包裹内的两件装备,风雷护腿直接装备上,而惊雷青龙戟则直接在书生小卖部里上架,

facebook允许开发者在移动应用中嵌入“like”按钮

这时候,一旁一直没有动手的王俊杰忽然带着十几个天骄的玩家走过来,沉声对凌月道"阿月,我们想要重归雪月,可以吗?我早上和凌天叔叔通了电话,他也认为你应该跟我好好谈谈,明天上午有空吗?咱们在天上人间的雅间里见个面,好好谈谈行吗?" 一群战士顶在了最前面,果然,在前方出现了浩浩荡荡的白云城玩家,血饮天下和傲世狂人颐指气使走在最前面,天之骄子王俊杰并列前行,并未表明意思,但是很明显是想破坏我的这次任务. 事实上,如果不是一个近乎BUG的存在,我恐怕早就被尸巫王给超度了,不过诸多的因素也才造就了