蓝桥杯 算法训练 印章

2023-10-30

蓝桥杯 算法训练 印章

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

输入输出:

一行两个正整数n和m
一个实数P表示答案,保留4位小数。

样例:

2 3
0.7500

这是个dp问题,存在两个变量,印章种类和购买的个数可以使用二维数组来进行模拟dp[m][n] 来表示在购买m个印章的情况下,存在n种印章数的情况

对情况进行分析

对于dp[i][j]
第一种情况 : i < j 即购买的印章小于存在的印章种类 ,概率肯定为0

第二种情况:i = j && j = 1 即只购买一种的情况下,存在一种印章的可能性,为1
i > j && j = 1 即购买的所有印章种类都一样,概率为 P ^ i * n = (1/n)^(i-1)

第三种情况:i > j && j != 1 在中间状态的情况,分为两种,一种是第 i 买的印章种类已经存在, 第二种是第 i 次买的印章还没有存在

  1. dp[i - 1][j] * (j * P)
  2. dp[i - 1][j - 1] * (n - (j - 1)) * P

这两种情况相加,就是中间类型的情况

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>

using namespace std;

const int N = 25;
double dp[N][N];
int n,m;

int main()
{
	cin >> n >> m;
	double P = 1.0 / n;
	for(int i = 1;i < m;i ++)
	{
		for(int j = 1;j < n; j ++)
		{
			if(i < j) dp[i][j] = 0;
			if(j == 1) dp[i][j] = pow(P,i-1);
			else
			{
				dp[i][j] = dp[i-1][j] * (P * j) + dp[i-1][j-1] * ((n - j + 1) * P);
			}
		}
	}
	printf("%.4lf",dp[m][n]);
	return 0;	
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝桥杯 算法训练 印章 的相关文章

  • 第十四届蓝桥杯模拟赛(第三期)——Java版

    第一题 请找到一个大于 2022 的最小数 这个数转换成十六进制之后 所有的数位 不含前导 0 都为字母 A 到 F 请将这个数的十进制形式作为答案提交 public class Main public static void main S
  • MacBook m1pro在conda环境关于架构出现过的问题

    回想一下十月份的时候刚拿到电脑做了点啥 刚开始没有进行转换架构的虚拟环境的设置 导致好像是安装pyqt5 一直失败 总之查了半天 最后指向似乎是架构问题 然后利用https www bilibili com read cv13742031
  • vue3项目引入typescript总结

    tsconfig json详细配置 根选项 include 指定被编译文件所在的目录 exclude 指定不需要被编译的目录 extends 指定要继承的配置文件 files 指定被编译的文件 references 项目引用 是 TS 3

随机推荐

  • 使用python-pyhdfs连接hdfs时报错

    一 问题描述 raise ConnectionError e request request ConnectionError HTTPConnectionPool host a port 50075 Max retries exceeded
  • python爬虫js逆向学习(三)

    1 问题分析 1 1 查询条件设置后进行点击事件 可抓取到ajax请求的获取的数据包 1 2 对数据包请求过程进行分析 发现Formdata及respopnse都是加密的且formdata中的参数每次刷新后都不同 1 3 既然参数及相应数据
  • 哈希桶的实现

    上一篇博客中介绍了用闭散列法的二次探测和开链法构造哈希表的原理即实现方式 构造哈希表的闭散列法之二次探测地址 http blog csdn net qq 36221862 article details 73488162 下面介绍另一种方法
  • QT__TCP

    QTcpSocket断开自动重新连接 auto connect after disconnected 转载于 http blog csdn net owldestiny article details 8452605 QTcpSocket断
  • 小程序引入vant-weapp

    小程序引入第3方样式库
  • 灰度直方图OpenCV

    recognition cpp 此文件包含 main 函数 程序执行将在此处开始并结束 include pch h include
  • Java实现判断是否为最新版本方法

    判断是否为最新版本方法 将版本号根据 切分为int数组 比较 param localVersion 本地版本号 param onlineVersion 线上版本号 return 是否为新版本 throws IllegalArgumentEx
  • NumPy模块:Python科学计算神器之一

    欢迎来到我的博客 作者 秋无之地 简介 CSDN爬虫 后端 大数据领域创作者 目前从事python爬虫 后端和大数据等相关工作 主要擅长领域有 爬虫 后端 大数据开发 数据分析等 欢迎小伙伴们点赞 收藏 留言 关注 关注必回关 上一篇文章已
  • nginx反向代理(前端 开发环境、测试环境、生产环境 解决方案)

    什么是Nginx Nginx engine x 是一个高性能的HTTP和反向代理服务 也是一个IMAP POP3 SMTP服务 Nginx是由伊戈尔 赛索耶夫为俄罗斯访问量第二的Rambler ru站点 俄文 开发的 第一个公开版本0 1
  • 团队耗时半年,整理两份非常夯实算法工程师基本功。

    这几年来 圈子内越来越卷的话题持续不下 再加上大厂程序员 被毕业 再就业 的新闻层出不穷 贩卖给人们的焦虑也越来越多 2016年 深度学习的春天是不是要来了 2017年 人工智能是不是一个泡沫 2018年 算法岗是否值得进入 2019年 如
  • pandas使用datetime作为索引并用groupby调用tseries.offsets时间位移分组

    import numpy as np import pandas as pd from datetime import datetime from pandas tseries offsets import Day MonthEnd sj
  • 路由控制配置network命令解析

    network命令 1 命令功能 network命令用来配置BGP将IP路由表中的路由以静态方式加入到BGP路由表中并发布给对等体 undo network命令用来删除指定的以静态方式加入到BGP路由表中的路由 缺省情况下 BGP不将IP路
  • C# 获取系统Icon、获取文件相关的Icon

    1 获取系统Icon 工具下载SystemIcon exe using System using System Collections Generic using System ComponentModel using System Dat
  • 什么是DDoS攻击?

    DDoS攻击是目前最常见的网络攻击方式之一 其见效快 成本低的特点 让DDoS这种攻击方式深受不法分子的喜爱 DDoS攻击经过十几年的发展 已经 进化 的越来越复杂 黑客不断升级新的攻击方式以便于绕过各种安全防御措施 一 什么是DDoS攻击
  • QT实例 - 实现http通信

    QT实现通过HTTP与服务器进行交互 原文链接 https blog csdn net hwc3737 article details 108367037 添加依赖 在项目的 pro文件中添加 QT network 引入相关头文件 incl
  • 生命在于学习——指纹混淆技术学习

    一 前言 本篇文章仅为学习笔记记录 不得用于违规用途 本篇文章为安全社公众号的Poker安全所发 本文仅为学习复现 二 介绍 指纹混淆技术 顾名思义 就是迷惑指纹扫描识别技术 三 思路 作者的思路 1 伪装CMS 作者第一个想到的就是wor
  • python的包

    什么是模块 xxx py文件 社么是包 多个模块组成的文件夹 为啥要使用模块 让我下次直接使用 不需要再重写 或者方便多人开发 1 新建一个文件夹testModel 在此文件夹中创建一个名为 init py的文件 此时python解释器就认
  • 第一章:基本概念

    什么是数据结构 其实官方没有统一定义 数据结构是数据对象 以及存在于该对象的实例和组成实例的数据元素之间的各种联系 这种联系可以通过定义相关的函数给出 Sartaj Sahni 数据结构 算法与应用 数据结构是ADT 抽象数据类型 Abst
  • 在服务器上搭建git仓库

    在本地项目中导出裸仓库 git clone bare project name git 上传到服务器上pscp r project name git user name ip or hostname git path 在本地仓库中设置服务端
  • 蓝桥杯 算法训练 印章

    蓝桥杯 算法训练 印章 共有n种图案的印章 每种图案的出现概率相同 小A买了m张印章 求小A集齐n种印章的概率 输入输出 一行两个正整数n和m 一个实数P表示答案 保留4位小数 样例 2 3 0 7500 这是个dp问题 存在两个变量 印章