2024蓝桥杯每日一题(数学期望)

备战2024年蓝桥杯 -- 每日一题
Python大学A组

        试题一:收集卡牌
        试题二:爬树的甲壳虫
        试题三:绿豆蛙的归宿
        试题四:扑克牌


试题一:收集卡牌

【题目描述】

        小林在玩一个抽卡游戏,其中有 n 种不同的卡牌,编号为 1到 n。每一次抽卡,她获得第 i 种卡牌的概率为 pi。如果这张卡牌之前已经获得过了,就会转化为一枚硬币。可以用 k 枚硬币交换一张没有获得过的卡。小林会一直抽卡,直至集齐了所有种类的卡牌为止,求她的期望抽卡次数。如果你给出的答案与标准答案的绝对误差不超过 10−4,则视为正确。提示:聪明的小林会把硬币攒在手里,等到通过兑换就可以获得剩余所有卡牌时,一次性兑换并停止抽卡。

【输入格式】

        输入共两行。

        第一行包含两个用空格分隔的正整数 n,k,第二行给出 p1,p2,…,pn,用空格分隔。

【输出格式】

        输出共一行,一个实数,即期望抽卡次数。

【数据范围】

        对于 20%20% 的数据,保证 1≤n,k≤5
        对于另外 20%20% 的数据,保证所有 pi是相等的。
        对于 100%100% 的数据,保证 1≤n≤16,1≤k≤5,所有的 pi 

【输入样例】

2 2
0.4 0.6

【输出样例】

2.52

【解题思路】

        参考AcWing 4009. 收集卡牌 - AcWing

【Python程序代码】

n,k = map(int,input().split())
a = list(map(float,input().split()))
f = [[0]*(1<<16) for _ in range(90)]
def dp(depth,coin,state,cnt):if f[coin][state]:return f[coin][state]if cnt*k<=coin:return depths = 0for i in range(n):if (state>>i)&1:s += a[i]*dp(depth+1,coin+1,state,cnt)else:s += a[i]*dp(depth+1,coin,state|(1<<i),cnt-1)f[coin][state]=sreturn s
print(dp(0,0,0,n))

试题二:爬树的甲壳虫

【题目描述】

        有一只甲壳虫想要爬上一棵高度为 n 的树,它一开始位于树根,高度为 00,当它尝试从高度 i−1 爬到高度为 i 的位置时有 Pi 的概率会掉回树根,求它从树根爬到树顶时,经过的时间的期望值是多少。

【输入格式】

        输入第一行包含一个整数 n 表示树的高度。

        接下来 n 行每行包含两个整数 xi,yi,用一个空格分隔,表示 Pi=xi/yi

【输出格式】

        输出一行包含一个整数表示答案,答案是一个有理数,请输出答案对质数 998244353 取模的结果。

【数据范围】

        对于 20%20% 的评测用例,n≤2,1≤xi<yi≤20
        对于 50%50% 的评测用例,n≤500,1≤xi<yi≤200
        对于所有评测用例,1≤n≤100000,1≤xi<yi≤109

【输入样例】

1
1 2

【输出样例】

2

【解题思路】

        参考AcWing 4646. 爬树的甲壳虫(概率递推+快速幂逆元) - AcWing

【Python程序代码】

n = int(input())
res = 0
p = 998244353
for i in range(n):x,y = map(int,input().split())res = (res+1)*y%p*pow(y-x,p-2,p)%p
print(res)

试题三:绿豆蛙的归宿

【题目描述】

        给出一个有向无环的连通图,起点为 1,终点为 N,每条边都有一个长度。数据保证从起点出发能够到达图中所有的点,图中所有的点也都能够到达终点。绿豆蛙从起点出发,走向终点。到达每一个顶点时,如果有 K 条离开该点的道路,绿豆蛙可以选择任意一条道路离开该点,并且走向每条路的概率为 1/K。现在绿豆蛙想知道,从起点走到终点所经过的路径总长度的期望是多少?

【输入格式】

        第一行: 两个整数 N,M代表图中有 N 个点、M 条边。

        第二行到第 1+M1行: 每行 33 个整数 a,b,c,代表从 a 到 b 有一条长度为 c 的有向边。

【输出格式】

        输出从起点到终点路径总长度的期望值,结果四舍五入保留两位小数。

【数据范围】

        1≤N≤105
        1≤M≤2N

【输入样例】

4 4
1 2 1
1 3 2
2 3 3
3 4 4

【输出样例】

7.00

【解题思路】

        参考AcWing 217. 绿豆蛙的归宿(概率dp) - AcWing

【Python程序代码】

import sys
sys.setrecursionlimit(int(1e5))
input = sys.stdin.readline
n,m = map(int,input().split())
h,e,ne,d,idx,w = [-1]*(2*n+5),[0]*(2*n+10),[0]*(2*n+10),[0]*(2*n+10),0,[0]*(2*n+10)
def add(a,b,c):global idxe[idx]=b; w[idx]=c; ne[idx]=h[a]; h[a]=idx; idx+=1
for i in range(m):a,b,c = map(int,input().split())add(a,b,c)d[a]+=1
f = [-1]*(n+10)
def dp(u):if f[u]>=0:return f[u]f[u],i = 0,h[u]while i!=-1:j = e[i]f[u] += (w[i]+dp(j))/d[u]i = ne[i]return f[u]
print("%.2f"%(dp(1)))

试题四:扑克牌

【题目描述】

        Admin 生日那天,Rainbow 来找 Admin 玩扑克牌。玩着玩着 Rainbow 觉得太没意思了,于是决定给 Admin 一个考验。Rainbow 把一副扑克牌(5454 张)随机洗开,倒扣着放成一摞。然后 Admin 从上往下依次翻开每张牌,每翻开一张黑桃、红桃、梅花或者方块,就把它放到对应花色的堆里去。Rainbow 想问问 Admin,得到 A 张黑桃、B 张红桃、C 张梅花、D 张方块需要翻开的牌的张数的期望值 E 是多少?特殊地,如果翻开的牌是大王或者小王,Admin 将会把它作为某种花色的牌放入对应堆中,使得放入之后 E 的值尽可能小。由于 Admin 和 Rainbow 还在玩扑克,所以这个程序就交给你来写了。

【输入格式】

        输入仅由一行,包含四个用空格隔开的整数,A,B,C,D

【输出格式】

        输出需要翻开的牌数的期望值 E,四舍五入保留 3位小数。

        如果不可能达到输入的状态,输出 -1.000

【数据范围】

        0≤A,B,C,D≤15

【输入样例】

1 2 3 4

【输出样例】

16.393

【解题思路】

        参考:AcWing 218. 扑克牌(期望dp) - AcWing

【Python程序代码】

import sys
sys.setrecursionlimit(1000000)
f = [[[[[[0]*5 for _ in range(5)] for i in range(16)] for j in range(16)] for k in range(16)] for p in range(16)]
v = [[[[[[0]*5 for _ in range(5)] for i in range(16)] for j in range(16)] for k in range(16)] for p in range(16)]A,B,C,D = map(int,input().split())
def dp(a,b,c,d,x,y):if v[a][b][c][d][x][y]:return f[a][b][c][d][x][y]v[a][b][c][d][x][y]=1if (a+(x==0)+(y==0))>=A and (b+(x==1)+(y==1))>=B and (c+(x==2)+(y==2))>=C and (d+(x==3)+(y==3))>=D:# print("YES")return 0su = 1cnt = a+b+c+d+(x!=4)+(y!=4)if a<13:su+=dp(a+1,b,c,d,x,y)*(13-a)/(54-cnt)if b<13:su+=dp(a,b+1,c,d,x,y)*(13-b)/(54-cnt)if c<13:su+=dp(a,b,c+1,d,x,y)*(13-c)/(54-cnt)if d<13:su+=dp(a,b,c,d+1,x,y)*(13-d)/(54-cnt)if x==4:minn=1e9for i in range(4):minn=min(minn,dp(a,b,c,d,i,y)/(54-cnt))su+=minnif y==4:minn=1e9for i in range(4):minn=min(minn,dp(a,b,c,d,x,i)/(54-cnt))su+=minnf[a][b][c][d][x][y]=su# print(su)return f[a][b][c][d][x][y]
if max(A-13,0)+max(B-13,0)+max(C-13,0)+max(D-13,0)>2:print("-1.000")
else:ans = dp(0,0,0,0,4,4)print("%.3f"%ans)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/1291.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL-笔记-06.数据高级查询

目录 6.1 连接查询 6.1.1 交叉连接&#xff08;cross join&#xff09; 6.1.2 内连接&#xff08;inner join&#xff09; 6.1.3 外连接&#xff08;outer join&#xff09; 6.1.3.1 左外连接&#xff08;left [outer] join&#xff09; 6.1.3.2 右外连接&#xff08;rig…

LeetCode 1378、1277、2944

1378 二级排序&#xff0c;compare函数必须是static的 class Solution { public:struct node {int val;int priority;};static bool compare(const node &n1, const node &n2) {if (n1.priority n2.priority) {return n1.val < n2.val;}return n1.priority < n…

VSCode 目录折叠展开、缩进深度设置

1、VSCode 目录折叠展开设置 运行 Visual Studio Code &#xff0c;按 Ctrl &#xff0c;打开设置 输入Explorer:Compact Folders&#xff0c;取消勾选 或者在设置文件上添加 "explorer.compactFolders": false2、VSCode 目录缩进深度设置 输入Workbench Tree:…

【C# 数据结构-队列】

在C#中&#xff0c;队列&#xff08;Queue&#xff09;是一种先进先出&#xff08;First In First Out&#xff0c;FIFO&#xff09;的数据结构&#xff0c;允许添加&#xff08;Enqueue&#xff09;和移除&#xff08;Dequeue&#xff09;元素。队列类在.NET Framework的Syste…

Navicat Premium 16最新版激活 mac/win

Navicat Premium 16 for Mac是一款专业的多连接数据库管理工具。它支持连接多种类型的数据库&#xff0c;包括MySQL、MongoDB、Oracle、SQLite、SQL Server、PostgreSQL等&#xff0c;可以同时连接多种数据库&#xff0c;帮助用户轻松地管理和迁移数据。 Navicat Premium 16 fo…

1.PROXY-代理内容

SwitchyOmega&#xff0c;浏览器插件&#xff08;edge&#xff0c;火狐插件库都是存在的&#xff09;&#xff0c;安装后的样式 1.安装 2.设置 我们常用的功能&#xff0c;主要是设置一个代理ip访问学习网站入github等&#xff0c;或者docker服务等 3.启动代理 4.验证 https…

LLMs之Llama3:Llama 3的简介、安装和使用方法、案例应用之详细攻略

LLMs之Llama3&#xff1a;Llama 3的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;2024年4月18日&#xff0c;Meta 重磅推出了Meta Llama 3&#xff0c;本文章主要介绍了Meta推出的新的开源大语言模型Meta Llama 3。模型架构 Llama 3 是一种自回归语言模型&#x…

移动端双验证码登录实现

说明&#xff1a;本文介绍如何用图形验证码短信验证码实现移动端登录思路&#xff1b; 分析 通过手机号图形验证码手机验证码实现登录的时序图如下&#xff1a; 说明&#xff1a; &#xff08;1&#xff09;用户进入登录界面&#xff0c;出现图形验证码&#xff0c;可点击图形…

探索Java设计模式:享元模式

探索Java设计模式&#xff1a;深入理解与实践享元模式 享元模式&#xff08;Flyweight Pattern&#xff09;是一种结构型设计模式&#xff0c;它通过共享对象来有效地支持大量细粒度对象的复用&#xff0c;从而降低系统内存占用&#xff0c;提高性能。在Java编程中&#xff0c…

【2024】深度学习配置环境常见报错,持续更新中....

No such file or directory: ‘:/usr/local/cuda-10.1:/usr/local/cuda-10.1/bin/nvcc‘: 确保CUDA正常后&#xff0c;直接运行以下代码&#xff1a; export CUDA_HOME/usr/local/cuda详细原因参照&#xff0c;安装mmcv-full时报错&#xff1a;Could not build wheels for mm…

python多线程技术(Threading)

文章目录 前言一、多线程(Threading)是什么?二、threading库1.初识多线程2.增加新线程2.1 多线程的基本使用2.2 对多线程是同时进行的进行一个直观上的演示(非重点--理解是实时就行)2.3 thread.join()功能2.4 使用queue(队列)功能获取多线程的返回值(重要,这就是前面那…

R version 4.1.0 安装ggplot2,options(pkgType=“binary“) install.packages(“ggplot2“)

R version 4.1.0 安装ggplot2 R version 4.1.0 安装ggplot21. 报错信息2. 成功安装3. 参考资料 R version 4.1.0 安装ggplot2 # 直接安装报错 install.packages("ggplot2")# 安装成功 options(pkgType"binary") install.packages("ggplot2")1. …

浅析ARM Contex-CM3内核架构

目录 概述 1. Cortex-M3类型MCU 1.1 MCU 架构 1.2 实时性系统概念 1.3 处理器命名法 1.4 MCU的一些知识 2. Cortex-M3 概览 2.1 Cortex-M3综述 2.2 寄存器组 2.3 操作模式和特权极别 2.4 内建的嵌套向量中断控制器 2.5 存储器映射 2.6 总线接口 2.7 存储器保护单元…

SpringBoot多数据源(一)

SpringBoot多数据源&#xff08;一&#xff09; 1.多数据源使用场景1.1 业务复杂&#xff08;数据量大&#xff09;1.2 读写分离 2.多数据源配置3.应用4.测试 1.多数据源使用场景 1.1 业务复杂&#xff08;数据量大&#xff09; 简单理解就是业务量复杂&#xff0c;将庞大的数…

Python模块之logging

官方文档 常见用法 logging模块是Python标准库中用于记录日志的模块。它提供了灵活且可配置的日志记录功能&#xff0c;可以用于在应用程序中捕获和输出各种级别的日志消息。以下是logging模块的常见用法示例&#xff1a; python import logging# 配置日志记录器 logging.b…

Java中的==与equals的区别

区别 首先&#xff0c;是运算符&#xff0c;equals()是方法 是一个二元运算符&#xff0c;用于比较两个对象的引用是否相同。当使用 进行比较时&#xff0c;Java会检查两个对象的内存地址是否相同。如果两个对象的内存地址相同&#xff0c;则认为它们是相同的。 如果比较的…

浏览器原理之本地存储

一 浏览器本地存储方式及使用场景 Cookies: 小段数据&#xff0c;由服务器发送到用户浏览器&#xff0c;浏览器将其存储并在以后的请求中回送到服务器。使用场景&#xff1a;会话管理&#xff08;登录状态、用户偏好设置&#xff09;、个性化&#xff08;用户主题&#xff09;、…

本地消息表模式保障分布式系统最终一致性

系统架构说明 状态转换说明 订单表消息表process_queue库存系统return_queue说明成功失败///订单库回滚成功成功失败//订单系统重发消息成功成功成功失败/Broker自动重试&#xff0c;注意接口幂等成功成功成功库存不足退回/Broker通知回掉&#xff0c;订单/消息作废成功成功成…

车轮上的智能:探索机器学习在汽车行业的应用前景

文章目录 引言&#xff1a;一、机器学习在汽车设计中的应用设计优化模拟与测试 二、智能制造与生产三、自动驾驶技术感知与决策数据融合 四、市场与模式的变革五、机器学习对于汽车行业的机遇与挑战挑战机遇 引言&#xff1a; 在当今数字化时代&#xff0c;机器学习作为人工智…

速盾:cdn可以加速哪些服务器

CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;是一种通过将网站的静态资源部署到全球各地的服务器上&#xff0c;以提供更快速、更可靠的访问体验的技术。CDN可以加速许多类型的服务器&#xff0c;包括但不限于以下几种&#xff1a; 静态资源服…