染色 color
染色 color
题目描述
有一块矩阵平板,分成n*m个格子,一开始全是白色。
在这上面进行k次染色,每次染色按照如下步骤:
1. 随机选择一个格子,称为A。
2. 随机选择一个格子,称为B。
3. 将由A B确定边界的矩阵染成红色。
每次随机选择都是独立的,每个格子被选到的概率相等,A B可能重叠。
下面是一块5*7的平板可能的染色过程:
a) (0,1) (3,2)
b) (3,6) (4,0)
c) (0,6) (0,5)
则染色后将有22个红色格子和13个白色格子
求出染色后红色格子的期望个数。
输入
仅一行k n m
输出
仅一个实数表示所求答案,保留六位小数
样例输入
2 2 1
样例输出
1.875000
提示
[样例输入二]
3 5 7
[样例输出二]
19.119179
[数据规模]
100%:0≤k≤100,1≤n,m≤1000
solution
考虑一个格子被染的概率。
由于它可以多次被染,我们用1-它k次都没被染到的概率。
那也就是一次的没染k次方。
行与列分开考虑
fx[i]=(
double
)(2*i*(n-i+1)-1)/(n*n); // 第i行被选的概率
列类似
注意精度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构