蓝桥杯算法训练---印章

蓝桥杯-算法训练-DP 问题描述共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。输入格式一行两个正整数n和m输出格式一个实数P表示答案,保留4位小数。样例输入2 3样例输出0.7500数据规模和约定1≤n,m≤20。 阅读详情

印章

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

样例输入n和m:2 3

样例输出(保留四位小数:0.7500

数据规模和约定:1≤n,m≤20

解题思路:p = 1/n.

动规步骤:

  • dp定义:dp[i] [j] : i张印章凑齐j种印章数的概率。
  • 递推公式:
    • i < j : 不可能凑齐,dp[i] [j] = 0
    • j = 1时(只需要凑齐一种即可,n种里面的随意一种:
      • i = 1时,dp[i] [j] = 1;
      • i > 1时,每个图案是dp[i] [j] = p ^ i; 有n种图案,则是p ^ i * n, 化简为p ^ (i - 1);
    • 其他情况:
      • 有重复的:前面的i- 1张就已经凑齐了j种,第i张就是重复前面的印章,这个时候前面已经出现过的j种印章再次出现的时候,就是j * p,这个时候就是dp[i] [j] = dp[i-1] [j] * (j/n) = dp[i-1] [j] *(j*p)
      • 无重复的:前面的i- 1张就已经凑齐了j - 1种,第i张就是新凑齐的一种,只需要乘以以前没有出现的印章出现的概率,剩下没出现的印章数是n - (j - 1)种,概率就是(n - j + 1) * p,这个时候dp[i] [j] = dp[i-1] [j-1]*(n-(j-1))/n = dp[i-1] [j-1]*(n-j+1)*p

代码

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        //小心越界
        double[][] dp = new double[m + 1][n + 1];

        double p = 1.0 / n;
        dp[0][0] = 0;
        for(int i = 1; i <= m; i++){
            for(int j = 1; j <= n; j++){
                if(i < j){ //这样找不出来 概率为0
                    dp[i][j] = 0;
                }else if(j == 1){ //表示某一种印章出现了i次
                    dp[i][j] = Math.pow(p, i - 1);
                }else{ //包括重复的和不重复的
                    dp[i][j] = dp[i - 1][j] * (j * p) + dp[i - 1][j - 1] * ((n - j + 1) * p);
                }
            }
        }
        System.out.println(String.format("%.4f", dp[m][n]));
        //System.out.printf("%.4f", dp[m][n]);
    }
}

基于知识图谱的旅游推荐系统 这一系统整合了当今先进的数据技术:采集携程等大型平台的景点数据,通过爬虫技术源源不断地获取最新的旅游信息。此外,我们采用Neo4j图数据库来存储和处理这些数据,结合自然语言处理技术,为你提供精准的旅游建议。:通过直观的知识图谱展示,了解各个景点之间微妙的联系,无论是文化背景还是地理方位,你都能从中发现新的旅行灵感。准备毕业设计的同学,关注我们,这是一个集成了多种前沿技术的项目,为你的学术成果锦上添花。:不再浪费时间,系统根据你的偏好和历史评分,利用协同过滤技术推荐适合的旅游目的地。 阅读详情

相关推荐

S7-1200PLC 与温控仪表Modbus RTU通信

硬件:cpu 1214C 目的:通过Modbus RTU协议,实现对温控仪表的控制 软件:Portal V14SP1

weixin_43922025的博客 3万+

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

蓝桥杯 奖章题

Atututuyao的博客 7210

[Adaptive Autosar]深入理解--Time Synchronization

目录 1.TS典型应用场景 2.CP和AP时间同步对比 3.时间同步基础知识 4.TBR部分参数说明 5. TS功能说明 5.1 基本说明 5.2 时间纠正计算说明 5.3 时间验证 Time Synchronization 时间同步,后面简称TS 1.TS典型应用场景 时间同步,典型应用就是在自动驾驶领域,自动驾驶领域涉及到各个传感器的数据采集,如IMU采集当前车身姿态和运动信息,毫米波雷达-超声波雷达-环视摄像头-前视摄像头...等等传感器捕获的数据,在算法中需要精确知道每个数.

AgingMoon的博客 3997

蓝桥杯 算法训练 印章

蓝桥杯 算法训练 印章 共有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

streams_star的博客 4996

Windows 11/10系统盘被BitLocker锁了别慌!手把手教你用manage-bde命令找回密钥并解锁

本文详细介绍了当Windows 11/10系统盘被BitLocker锁定后的恢复方法,重点讲解了如何使用manage-bde命令行工具找回密钥并解锁加密驱动器。通过进入Windows恢复环境、诊断锁定状态、提取恢复密钥ID以及执行解锁操作等步骤,帮助用户有效解决BitLocker锁定问题,同时提供了后续防护优化建议和高级故障排除技巧。

weixin_42542669的博客 1465

【逆向实战】Unity游戏资源提取与解密全攻略:从AssetBundle到libil2cpp.so的破解技巧

本文详细介绍了Unity游戏资源提取与解密的完整流程,涵盖从AssetBundle到libil2cpp.so的破解技巧。通过AssetStudio和Il2CppDumper等工具,读者可以学习如何提取未加密资源、处理加密文件,并掌握动态dump技术。文章还提供了自动化脚本编写和常见问题解决方案,帮助逆向工程爱好者高效完成资源提取任务。

weixin_29012765的博客 1049

C语言-蓝桥杯-算法训练 印章

问题描述 共有 n 种图案的印章,每种图案的出现概率相同。小A买了 m 张印章,求小A集齐 n 种印章的概率。 输入格式 一行两个正整数n和m。 输出格式 一个实数P表示答案,保留4位小数。 样例输入 2 3 样例输出 0.7500 解题思路 共有 n 种图案的印章,每种图案的出现概率相同。故买到某种图案的印章的概率为 1/n 。 买了 i 次,集齐 j 种图案。 当 i < j 是不可能事件,故概率为 0 ; 当 j = 1 时,表达买了 i 次,买的都是同一种,故概率为(1/n)^ j * n

qq_45256352的博客 3456

PCB设计AD规则设置(按照嘉立创设置)

按照嘉立创的相关加工能力进行设置: 1.Hole Size(钻孔孔径) 嘉立创要求钻孔孔径在0.2-6.3mm,并给了公差(如下图给出了钻孔孔径和公差) 规则设置位置:Manufacturing->Hole Size,这里就改一下数值,最小设置为0.2mm,最大设置为6.3mm 2.Width(线宽) 嘉立创要求线宽多层板双层板最小为3.5mil,单双层板最小为5mil(如下图给出了线宽) 规则设置位置:Routing->Width,我目前只画过双层板,按我的设置如下,最小的线宽设置为10

subtitle_的博客 4万+

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

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

Insight__的博客 2695

uniapp - [微信小程序] 实现点击预览各种文件 pdf文档、视频mp4、mp3音乐、图片图像、word/excel/ppt 等,uniapp小程序文件预览功能(详细示例代码,一键复制开箱即用)

uniapp,uniapp微信小程序,支付宝小程序平台端,uniapp实现文件在线预览,uniapp微信小程序怎么实现预览视频mp4,mp3音乐,图片,office文档,小程序平台如何在线预览word/excel/ppt文档,uniapp实现小程序端的文件查看功能,uniapp小程序端实现pdf文件预览,uniapp纯前端预览PDF、DOC、DOCX、图片、视频,uni-app文档、图片预览查看,uniapp文档预览功能,uniapp小程序端文件预览,uniapp小程序平台纯前端解析word,pdf,xls

✅ 精选推荐文章 1万+

导航系统 | 全球四大卫星导航系统(2025)核心能力对比分析

北斗系统通过GEO卫星(80°E、110.5°E、140°E)实现区域增强,其IGSO卫星在亚太地区形成"8"字形轨迹,使该区域可见卫星数量比GPS多4-6颗,显著提升复杂环境下的定位可用性[13]。北斗短报文功能在2025年云南地震救援中发挥关键作用,被困人员通过北斗终端发送120字求救信息,实现"位置+状态"一体化上报,救援响应时间缩短40%[15]。北斗通过三频信号(B1C/B2a/B3)消除电离层延迟误差,在城市峡谷环境下定位连续性达99.98%,优于GPS的99.95%[5]。

尘世冰封的专栏 2614

蓝桥杯算法训练印章 个人想法(java函数 递归实现)

本文采用函数递归的方法,实现印章算法问题,并对函数递归进行了分步骤讲解,以及一定的优化。但在效率优化上,可能仍存在不足,期待各位的点评。

xiaoyao51548的博客 383

133.在 Vue3 中使用 OpenLayers 实现画多边形、任意编辑、遮罩与剪切处理功能

《Vue3+OpenLayers实现多边形绘制与区域处理》摘要:本文介绍如何基于Vue3+OpenLayers+ol-ext实现地图多边形交互功能。核心功能包括:鼠标绘制任意多边形、拖动顶点编辑边界、遮罩显示(非选区变红)、选区剪切显示及功能重置。技术方案采用OpenLayers处理地图渲染,ol-ext实现高级遮罩/剪切效果,ElementPlus提供UI控件。该方案适用于城市规划、园区展示等需要区域标记的场景,完整代码展示了从初始化、绘制、编辑到特效处理的全流程实现。

小彭的博客 963

蓝桥杯 试题 算法训练 印章

试题 算法训练 印章 动态规划: 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。 输入格式 一行两个正整数n和m 输出格式 一个实数P表示答案,保留4位小数。 样例输入 2 3 样例输出 0.7500 数据规模和约定 1≤n,m≤20 题目意思简洁明了。。。。 动态规划: 1.设置状态(看是一维数组还是二维数组,一般的题目都是二维数组,经验之谈) 2.找状态之间的关系, 3.写代码 这其中1,2

okok__TXF的博客 2万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

蓝桥杯算法训练 印章

蓝桥杯 算法训练 印章 问题描述 ​ 共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。 输入格式 ​ 一行两个正整数n和m 输出格式 ​ 一个实数P表示答案,保留4位小数。 样例输入 ​ 2 3 样例输出 ​ 0.7500 数据规模和约定 1≤n,m≤20 本题使用动态规划算法,动态规划无非是以下三步, 确认状态,即dp数组中的值的含义 设计状态转移方程(递推公式)。 设置dp数组的初值 其中前2步尤为关键。除此之外,对于同一个问题使用用动态规划算法,可以设计出不

weixin_53469581的博客 8936

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【蓝桥杯】试题 算法训练 印章

资源限制 内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述   共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。    输入格式 一行两个正整数n和m 输出格式 一个实数P表示答案,保留4位小数。 样例输入 2 3 样例输出 0.7500 数据规模和约定 1≤n,m≤20 题目链接 Ideas 首先要确定题目类型,虽然试题列表里面已经说明了这是一道DP的题目,但是正式比赛的时候可不

Alex 1087

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

蓝桥杯算法训练 印章(c语言)

资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述   共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。 输入格式   一行两个正整数n和m 输出格式   一个实数P表示答案,保留4位小数。 样例输入 2 3 样例输出 0.7500 数据规模和约定   1≤n,m≤20 题目中有 n 种印章, 每种概率是 1/n 建立一个二维数组book [ i ] [ j ]用来存放概率 设置I种印章,j种图案 分三种情况: 1.当

MMXHFF的博客 1811

蓝桥杯——算法训练——印章

一开始入手,我打算用概率论的知识解决印章问题,但是发现我的公式推导,适应有一定的局限性 package com.study.蓝桥杯.算法训练; /* 问题描述   共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。 输入格式   一行两个正整数n和m 输出格式   一个实数P表示答案,保留4位小数。 */ /** * @author sjn * @date 2022-1-15 */ import java.util.Scanner; public c

weixin_53364209的博客 915

蓝桥杯试题 算法训练 印章

试题 算法训练 印章 C/C++ 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。 输入格式 一行两个正整数n和m 输出格式 一个实数P表示答案,保留4位小数。 样例输入 2 3 样例输出 0.7500 · 数据规模和约定   1≤n,m≤20 解题思路 1.题目已经提示用dp算法了(没有提示确实比较难想到使用dp算法QVQ)。则使用dp算法,dp[n][m]数组中,n表示抽到n种印章,m表示买

gyhzxy的博客 1397

蓝桥杯 试题 算法训练 印章 C++ 详解

前言:写蓝桥杯练习系统习题时,参考了以下两位的文章: https://blog.youkuaiyun.com/okok__TXF/article/details/121099645 https://blog.youkuaiyun.com/m0_58245389/article/details/121877031 出于本人学习这道题时的疑惑,打算写一下文章,希望可以帮助到大家理解。 题目: 共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。 分析:想法就是将概率作为值存放于二维数

Lyz_ID的博客 4186

蓝桥杯算法训练-印章

这一题是10月份新加的题,网上也没啥答案,标签为dp动态规划,实际上我觉得不用动态规划也能做,毕竟python是自带了求组合数的函数,下面来看一下吧。 试题 算法训练 印章 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述   共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。 输入格式   一行两个正整数n和m 输出格式   一个实数P表示答案,保留4位小数。 样例输入 2 3 样例输出 0.7500 数...

ArthasMenethil110的博客 7582

【蓝桥杯】算法训练 印章

问题描述 共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。 dp思路 输入n,m,n代表印章种数,m代表抽取次数 设定数组dp[i][j],代表第i次抽取时集齐j种印章的概率 则有 当抽取次数少于印章总数时,即m<n,此时集齐的概率为0 if(i<j) dp[i][j] = 0 当抽取i次,只集齐了1种印章的概率为 if(j==1)(1 / n)^ i * n //有n种印章,还需要乘数量n 除去边界值,则有抽取第i次时获得j种印章的概率,该状态可有

weixin_42513429的博客 1195

蓝桥杯 算法训练 印章c++

试题 算法训练 印章 题目要求 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述   共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。    输入格式   一行两个正整数n和m    输出格式   一个实数P表示答案,保留4位小数。    样例输入 2 3 样例输出 0.7500 数据规模和约定   1≤n,m≤20 思路 参考自https://blog.youkuaiyun.com/weixin_61819021/article/details/121581

m0_50631706的博客 203

蓝桥杯-算法训练 印章

试题 算法训练 印章 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。 输入格式 一行两个正整数n和m 输出格式 一个实数P表示答案,保留4位小数。 样例输入 2 3 样例输出 0.7500 数据规模和约定 1≤n,m≤20 题解 思路 刚刚看到题目的时候,一开始以为是用高中学的概率论,组合数来做,但是后来发现自己实在是想不到,太复杂了,而且概率论也很久没学了,那么没办法了,只能是用动态规划来解决了

小王的博客 783

蓝桥杯算法训练之印章

问题描述:   共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。 输入格式   一行两个正整数n和m 输出格式   一个实数P表示答案,保留4位小数。 代码如下: #include<stdio.h> #include<math.h> int main() { int n = 0; int m = 0; int a = 0; int b = 0; scanf("%d %d", &n, &m); double dp[25

m0_56659626的博客 639
上一篇: 相关算法---贪心算法
下一篇: 简单git操作
ZoeLandia
博客等级 码龄6年 734粉丝 183原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值