这道题你会做吗?codeforces程序算法网的一道入门级题

本文介绍了一道算法题目,彩虹小马Twilight Sparkle和朋友们玩骰子游戏,需要计算扔n次m面骰子后最大点数的期望值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述:本文翻译了NB程序员们常去的国际知名的算法竞赛网站codeforces的第259期的一道入门级算法题,程序员朋友,这道题你会做么?

代码测试需求:

程序响应时间限制:1秒以内
程序内存限制:256M以内
输入方法:标准输入
输出方法:标准输出

《彩虹小马》里的女孩Twilight Sparkle与她的朋友Rainbow Dash,Apple Jack 以及 Flutter Shy在一起玩骰子游戏,但是她一直都在输。回到城堡以后,Twilight Sparkle对游戏里使用的骰子很感兴趣。

pony

骰子一共有m个面,第一面有一个点,第二面有两个点,以此类推,第m个面有m个点。Twilight Sparkle很清楚的知道,每当她丢一次骰子,都有可能随机出现其中的一个面。并且她还知道,每次扔出的概率都是独立的。现在请你帮助她计算下,当她扔出n次骰子后,所得的最大的点的预期值是多少?

输入值:包含2个整数,m和n (1 ≤ m, n ≤ 105)。

输出值:输出的结果对应于最大的点的预期值,结果误差在10-4范围内都视为正确答案。

示例,比如在假定m=2,n=2的情况下(即骰子只有两面,扔2次的情况):

  1. 你第一次扔了1个1,第二次扔了1个2,最大结果为2。
  2. 你第一次扔了1个1,第二次扔了1个1,最大结果为1。
  3. 你第一次扔了1个2,第二次扔了1个1,最大结果为2。
  4. 你第一次扔了1个2,第二次扔了1个2,最大结果为2。

由于出现上述四种情况的概率都为0.25,那么预期值为

(2 + 1 + 2 + 2)* 0.25 = 7/4

一些输出结果:

Input
6 1
Output
3.500000000000
 
Input
6 3
Output
4.958333333333
 
Input
2 2
Output
1.750000000000

本文翻译自Little Pony and Expected Maximum

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值