绳圈

题目描述

今有 100 根绳子,当然会有 200 个绳头。

如果任意取绳头两两配对,把所有绳头都打结连接起来。最后会形成若干个绳圈(不考虑是否套在一起)。

我们的问题是:请计算最后将形成多少个绳圈的概率最大?

注意:结果是一个整数,请通过浏览器提交该数字。不要填写多余的内容。

public class Main {

    public static void main(String[] args) {
double[][] dp = new double[101][101];
dp[1][1] = 1; //当前只有一根绳子,只能形成一个绳圈,且概率为1
for(int i = 2;i < 101;i++) { //绳子数
for(int j = 1;j < 101;j++) { //绳圈数
if(j > i) //此时的情形不可能出现,即此时概率为0
continue;
dp[i][j] = dp[i - 1][j]*(2*i - 2) / (2*i - 1) + dp[i][j -1]/(2*i - 1);
}
}
double max = 0;
int maxI = 0;
for(int i = 1;i < 101;i++) {
if(max < dp[100][i]) {
max = dp[100][i];
maxI = i;
}
}
System.out.println(maxI);
}
}

最新文章

  1. iOS系列 基础篇 01 构建HelloWorld,剖析并真机测试
  2. python模块与包的导入
  3. MySQL安装问题
  4. 如何安装ESXi的补丁
  5. EF-Code First 入门
  6. ListBox重绘
  7. 在windows下MySQLdb/MySQL-python的安装
  8. MySQL 远程访问开启
  9. jdk内存
  10. Tomcat提供的安全机制
  11. 织梦不仅是链接到其他调用next
  12. wcf感悟与问题
  13. 一次对JDK进行&quot;减肥&quot;的记录
  14. Mybatis-批量执行
  15. type() 和 isinstance()区别
  16. mac 下直接给docker容器加映射 mysql 为例
  17. Vue 获得所选中目标的状态(checked)以及对应目标的数据,并进行相应的操作
  18. How to proof RSA
  19. Binary Gap(二进制空白)
  20. php程序开销比较

热门文章

  1. python机器学习笔记:EM算法
  2. 分布式项目配置工程,在项目间互通要先在linux下开启zookeeper
  3. java8 新特性Stream流的应用
  4. linux下获取软件源码包 centos/redhat, debian/ubuntu
  5. React组件proptypes, ref
  6. JS的函数和对象一
  7. python—day01_环境安装
  8. Spring Bean 定义
  9. UIStackView上手教程
  10. 限制某个顶点度数的最小生成树 poj1639