`

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

阅读更多
概述:本文翻译了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

 
3
4
分享到:
评论
2 楼 qq1376888124 2014-08-05  
joseph830727 写道
public void cal(int m, int n){
		long b = System.currentTimeMillis();
		double sum = 0;
		for(int i = 1; i <= m; i++){
			if(i == 1){
				sum += 1;
			}else if(i <= m){
				double t = Math.pow(i, n) - Math.pow(i - 1, n);
				sum += t * i;
			}
		}
		double result = sum / Math.pow(m, n);
		long e = System.currentTimeMillis();
		System.out.println(result);
		System.out.println(e - b);
	}

   
1 楼 joseph830727 2014-08-05  
public void cal(int m, int n){
		long b = System.currentTimeMillis();
		double sum = 0;
		for(int i = 1; i <= m; i++){
			if(i == 1){
				sum += 1;
			}else if(i <= m){
				double t = Math.pow(i, n) - Math.pow(i - 1, n);
				sum += t * i;
			}
		}
		double result = sum / Math.pow(m, n);
		long e = System.currentTimeMillis();
		System.out.println(result);
		System.out.println(e - b);
	}

相关推荐

    Codeforces 题库 001-100

    标题 "Codeforces 题库 001-100" 暗示了这里讨论的是Codeforces网站上的前100个编程竞赛题目。Codeforces是一个专注于算法竞赛编程的俄罗斯网站,由来自萨拉托夫国立大学的一群体育爱好者组成,以Mikhail Mirzayanov...

    Codeforces 题库 101-200

    Codeforces题库101-200介绍了一个在编程竞赛领域非常知名的平台——Codeforces。Codeforces是一个专注于计算机编程的俄罗斯网站,由一组来自萨拉托夫国立大学的竞技体育团队成员领导,由Mikhail Mirzayanov领导。该...

    codeforces-ACM竞赛题目-2833道.tgz

    codeforces-ACM竞赛题目-2833道.tgz

    Xudong0722#Algorithm_template#codeforces思维题训练合集1

    lucifer1004大佬的博客cf上分攻略故里大佬的githubcf思维题刷题数:44- (1421)codeforces 676 div2 A,B done

    Codeforces 题库 201-294

    Codeforces是一个专注于竞技编程的俄罗斯网站,由来自萨拉托夫国立大学的Mikhail Mirzayanov领导的一组体育运动员创建和维护。该网站为用户提供了以下主要服务:每周大约举办一次的短期(2小时)比赛,即...

    Codeforces题目泛做解题报告许昊然.pdf

    根据提供的文档信息,我们可以推断出这是一份由许昊然撰写的Codeforces题目的解题报告。许昊然是国际信息学奥林匹克(IOI)2012年和2013年的金牌获得者,因此他的解题报告极具参考价值。下面我们将详细解读这份报告...

    打codeforces的神器

    打codeforces的神器

    codeforces编程网站预测分数插件.zip

    Codeforces是一个广受欢迎的在线编程竞赛平台,尤其在ACM(国际大学生程序设计竞赛)社区中备受推崇。这个“codeforces编程网站预测分数插件.zip”文件似乎包含了一个专为Codeforces用户设计的插件,旨在帮助参赛者...

    codeforces enhancer 1.1.2

    Codeforces Enhancer 1.1.2是一款专为Google Chrome浏览器设计的插件,旨在提升用户在Codeforces编程竞赛平台上的体验。这个插件的主要目标是通过提供一系列实用功能,帮助程序员更有效地进行代码编写、测试和提交,...

    Codeforces round 678 D2_Codeforces_

    本次提及的是Codeforces round 678的第二部分(division 2),通常这类比赛会包含四道题目,分别标记为A、B、C和D,难度逐渐递增。 在提供的压缩包文件中,我们看到了四个文件:d.cpp、c.cpp、b.cpp和a.out。这代表...

    codeforces 19 E Fairy 解题报告

    Codeforces 19 E Fairy 是一道关于图论和二分图的编程竞赛题目。本题要求求解在给定的无向图中,通过删除一条边使得剩余的图成为一个二分图。首先,我们需要理解二分图的概念。二分图是指图中的节点可以分为两个互不...

    sublime-plugin-for-codeforces:用于从 codeforces 获取测试用例并检查程序是否正确的自定义构建

    描述:这个程序从 codeforces 中获取测试用例,并告诉你程序的输出是否与测试用例的输出匹配。 你好我亲爱的用户, 你在 codeforces 上使用 python 吗? 您是否使用 sublime3 编写代码? 那么这对你来说一定是个...

    Codeforces 185A - Plant 全测试点49个

    Codeforces 185A - Plant 全测试点49个 Codeforces 是一个在线编程平台,提供了大量的编程题目和比赛。其中,185A - Plant 是一个经典的题目,要求编写一个程序来解决植物生长的问题。 在这个题目中,输入是一个...

    Codeforces codes_names_Codeforces_

    在实际的编程比赛中,参赛者不仅需要正确地解决问题,还需要确保代码能够快速、高效地执行,因为比赛会根据程序的运行时间和空间复杂度进行评分。 通过对这些代码的分析,我们可以学习到不同级别的算法问题如何被...

    Codeforces global round 10_Codeforces_

    Codeforces全球第十轮比赛是编程竞赛平台Codeforces举办的一场线上编程比赛,旨在挑战参赛者的算法设计、逻辑思维和编程技巧。在这个比赛中,参赛者通常需要解决一系列算法问题,涵盖数据结构、图论、动态规划、数学...

    Codeforces-Remainder:轻量级 Chrome 扩展程序,单击按钮即可显示即将举行的 Codeforces 常规比赛

    轻量级 Chrome 扩展程序,单击按钮即可显示即将举行的 Codeforces 常规比赛。 要使用扩展名,请将所有文件放入一个目录中。 然后,在 chrome://extensions(开发者模式)中加载解压后的扩展目录。 单击多功能框...

    一个Codeforces、牛客竞赛、AtCoder平台的编程竞赛查询插件,ACMer必备.zip

    一个Codeforces、牛客竞赛、AtCoder平台的编程竞赛查询插件,ACMer必备.zip

    Codeforces Edu Hacking

    使用 C# + WPF 开发 ...你只需要提前构造好某些题的叉点数据,填入它,OK!一切就是这么的方便! 注:仅适用于 Edu 以及 Div.3 轮比赛赛后 hack,不支持 Div.1/2 赛时 hack。 适用人群:想进入首页 Hack 榜的选手

    go、c++语言刷的算法题,例如LeetCode、Codeforces等。 还有一些用go、c++实现的算法模板

    记录一下用go、c++语言刷的算法题,例如LeetCode、Codeforces等。 还有一些用go、c++实现的算法模板。.zip 源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足...

    ACM国际大学生程序设计竞赛:知识与入门(完整高清版带书签)

    《ACM国际大学生程序设计竞赛:知识与入门》是一本专为有志于参与或提升在ACM(Association for Computing Machinery)国际大学生程序设计竞赛能力的学生所编写的指南。这本书全面覆盖了竞赛所需的关键知识领域,...

Global site tag (gtag.js) - Google Analytics