试题 算法训练 印章

2023-11-12

问题描述

  共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。

输入格式

  一行两个正整数n和m

输出格式

  一个实数P表示答案,保留4位小数。

样例输入

2 3

样例输出

0.7500

数据规模和约定

1≤n,m≤20

对于这道题,其本质是排列组合求概率,由题目可知当n=1时概率p为1.

当n>m时,概率p为0。因此主要分析上述两种情况之外的情况。对于买了m张印章,集齐n种印章的概率,进行以下分析:

                                                            求集齐的概率=1-集不齐的概率;

而对于购买了m种,集不齐i种的概率,可以用以下公式来进行计算:

          P(集不齐i种) =   P(只能集齐1种) +   P(只能集齐2种)+......+P(只能集齐i-1种) 

          P(i)=1-\frac{\sum_{k}^{i-1}(C_{i}^{k}K^{m}P(k))}{i^{m}}

        其中P(i)表示只集齐且只集齐i种,

用白话文来解释就是,对于集齐i种,即用1减去集不齐i种,而对于集不齐i种,其概率就是只集齐1种,2种,....,i-1种的概率之和。其中集齐1种的概率为1。对于抽取a个,有b种印章,只集齐c种的概率为,从b种中选出c种,为C_{b}^{c};在c种中随便选择,为c^{a};只选到c种之中的概率,为P(k)。对于抽取a个,总共有b^{a}种可能,因此集齐只集齐c种的概率为\frac{C_{b}^{c}c^{a}P(c)}{b^{a}}

从而带入上述公式可计算。

# include<iostream>
# include<cstdio>
# include<cmath>
using namespace std;
double dp[22];

long long jiecheng(int t)
{
	long long sum = 1;
	for (int i=1;i<=t;i++)
	sum = sum*i;
	return sum;
}

long long zhuhe(int s,int r)
{
	return jiecheng(s)/jiecheng(r)/jiecheng(s-r);
}

double fun(int n,int m)
{
	int i,j;
	double t=0;
	dp[1]=1.0;
	for(i=2;i<=n;i++)
	{
		t=0;
		for(j=1;j<i;j++)
		{
			t=t+zhuhe(i,j)*dp[j]*pow(j,m);
					
		}
		dp[i]=1-t/pow(i,m);
		
	}
	return dp[n];
} 
int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	fun(n,m);
	printf("%.4lf\n",dp[n]);
	return 0;
}

          

本文部分参考(12条消息) 蓝桥杯算法训练 印章_!YI的博客-CSDN博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

试题 算法训练 印章 的相关文章

  • 数学建模--退火算法求解最值的Python实现

    目录 1 算法流程简介 2 算法核心代码 3 算法效果展示 1 算法流程简介 1 设定退火算法的基础参数 2 设定需要优化的函数 求解该函数的最小值 最大值 3 进行退火过程 随机产生退火解并且纠正 直到冷却 4 绘制可视化图片进行了解退火

随机推荐

  • 异步javaScript

    在本文中 我们将解释什么是异步编程 为什么我们需要它 并简要讨论 JavaScript 历史上异步函数是怎样被实现的 预备知识 基本的计算机素养 以及对 JavaScript 基础知识的一定了解 包括函数和事件处理程序 目标 熟悉异步 Ja
  • 日增30-40亿数据量的数据库

    author skate time 2010 08 13 前几天和个朋友聊天 他说他有每天30 40亿条数据量的数据库如何规划与优化 简单了解需求是这30 40亿数据是每天采集的 然后同时还对这些采集的数据进行分析挖掘 对于这么大量的数据量
  • MySQL数据库使用小皮系统(phpstudy)的安装及配置流程

    小皮系统phpstudy的安装及配置流程 一 小皮系统 phpstudy 的下载 二 数据库管理工具 一 小皮系统 phpstudy 的下载 搜索 phpStudy V8 1 下载大约 78m 左右 官网下载地址 phpStudy 可以随时
  • Android红外遥控器移植

    1 编译hal层代码 红外的hal代码路径 hardware libhardware modules consumerir 最终生成consumerir default so 但system文件系统中并没有该库 选择安装该库即可 在devi
  • Bert模型做多标签文本分类

    Bert模型做多标签文本分类 参考链接 BERT模型的详细介绍 图解BERT模型 从零开始构建BERT 强推 李宏毅2021春机器学习课程 我们现在来说 怎么把Bert应用到多标签文本分类的问题上 注意 本文的重点是Bert的应用 对多标签
  • 2022年“网络安全”赛项黑龙江省赛选拔赛 任务书

    2022年 网络安全 赛项黑龙江省赛选拔赛 任务书 2022年 网络安全 赛项黑龙江省赛选拔赛 任务书 A模块基础设施设置 安全加固 200分 B模块安全事件响应 网络安全数据取证 应用安全 400分 C模块 CTF夺旗 攻击 200分 D
  • MYBATIS-PLUS入门使用、踩坑记录

    转载 mybatis plus入门使用 踩坑记录 灰信网 软件开发博客聚合 首先引入MYBATIS PLUS依赖 SPRING BOOT项目
  • Java事件处理机制

    Java事件处理机制涉及三个成员 事件源 事件和事件监听器事件源 Java的AWT或Swing组件 该组件就是事件源 通过new关键字即可创建事件 由系统自动产生事件监听器 整个事件处理的核心 事件监听器必须实现事件监听器接口 以鼠标事件为
  • 【ES】 es

    一 说明 1 通过kibana操作es 2 使用dsl命令操作es 3 需要已经安装es 必须 4 需要已经安装kibana 非必须 5 若是没有装kibana 可以用PostMan之类的请求工具 二 基础知识 1 Elasticsearc
  • 在vue项目中用BMap百度地图自定义定位icon不显示

    我自定义了图标但是不显示 先来看一下怎么用百度地图自定义图标 var myIcon new BMap Icon 自定义图标 require assets image L gif new BMap Size 24 21 图标的宽度和高度 va
  • spring 三级缓存

    spring 三级缓存 Spring三级缓存是Spring框架用来解决循环依赖问题的一种机制 它包含三级缓存 singletonObjects earlySingletonObjects和singletonFactories singlet
  • 移植STM32官方加密库STM32Cryptographic

    感谢这位博主 文章具有很高的参考价值 STM32F1做RSA AES数据加解密 MD5信息摘要处理 我以为我爱了的博客 CSDN博客 概述 ST官方在很多年前就推出了自己的加密库 配合ST芯片用起来非常方便 支持ST的所有MCU 官方已经给
  • 怎样选择网站服务器带宽,如何选择云服务器带宽

    原标题 如何选择云服务器带宽 在一台正常使用的云服务器中 一般主要有CPU 内存 带宽 磁盘等几种配置 在云服务器运行中 带宽指在一定时间内从或向网站 服务器传输的数据量 带宽是一个量词 是指在规定时间 一般单位时间为1秒 内 从一端流到另
  • IT自由职业者的成功秘诀

    From http www csdn net article 1970 01 01 293774 导读 原文作者Greg Jorgensen是一位典型的程序员 他从1974年开始编程 曾在耐克和苹果等公司任职 他专攻修复和完善受损 被遗弃和
  • 阿里云k8s服务之间偶尔获取不到dns解析安装ACK NodeLocal DNSCache

    1 背景 feign RetryableException No route to host Host unreachable executing POST http osale thirdparty empty detect 服务突然会中
  • IT精英简历

    IT精英简历 马化腾眼下 一个34岁的中国人在世界和中国经济界可谓抢尽风头 在刚刚过去的2004年年底 他被美国 时代周刊 Time 和有线新闻网 CNN 评为2004年全球最具影响力的25名商界领袖之一 荣膺香港理工大学第四届紫荆花杯杰出
  • vue2.0 element-ui中的el-select选择器无法显示选中的内容

    我使用的是element ui V2 2 3 代码如下 当我选择值得时候 el select选择器无法显示选中的内容 但是能触发change方法 并且能输出选择的值 select vue文件
  • 动态修改iframe高度,从而自适应内容真实高度

    项目中遇到这样的情况 需要用到iframe iframe中的内容也是自己写的页面 由于页面中元素是异步加载出来的 并不能提前预知其高度 这样就不能设置iframe的高度 导致iframe会出现滚动条 用户体验不好 所以我需要能根据内容动态改
  • 41-C语言-蛇形矩阵-输出从1到n的矩阵

    问题 蛇形矩阵 构建蛇形矩阵 之后 根据条件相应输出 思路 蛇形矩阵 初始值a 0 0 为1 之后开始进行趟数变更 蛇形矩阵趟数 斜着来 斜杠 第一趟为a 0 1 和a 1 0 每一趟中的范围为0到tang次 如第一趟中a 0 1 已经赋值
  • 试题 算法训练 印章

    问题描述 共有n种图案的印章 每种图案的出现概率相同 小A买了m张印章 求小A集齐n种印章的概率 输入格式 一行两个正整数n和m 输出格式 一个实数P表示答案 保留4位小数 样例输入 2 3 样例输出 0 7500 数据规模和约定 1 n