当前位置: 首页 > news >正文

概率/期望 DP Jon and Orbs

题目链接:Problem - D - Codeforces

题目大意:

需要收集 k (k <= 1000)个球,初始一个球都没有,每次有等同概率得到任意一个球,求要想收集完全整套魔法球(每种至少一个)的概率至少是 \frac{p_i - \epsilon}{2000} 的期望次数。其中 \epsilon < 10^{-7} 。询问若干个 pi ,对于每个 pi 输出对应的答案。

Solution:

设 f_{i,j} 为拿了 i 次之后收集了 j 种球的概率。

f_{0,0} = 1

f_{i + 1,j+1} += \frac{k-j}{k} * f_{i,j}

f_{i + 1,j} += \frac{j}{k} * f_{i,j}

可以直接预处理出 f(1~10000,j) 的所有值,然后二分答案即可。

Code:

#include<cstdio>
#include<cstring>
using namespace std;#define N 1005int k,T,p,ans;
double f[N * 10][N],bar;int min(int x,int y) { return x < y ? x : y ; }int main()
{scanf("%d%d",&k,&T);f[0][0] = 1.00;for (int i = 0;i <= 10000;++ i){for (int j = 0;j <= min(i,k);++ j)f[i + 1][j + 1] += (double)(k - j) / (double)k * f[i][j],f[i + 1][j] += (double)j / (double)k * f[i][j];}while (T --){scanf("%d",&p);bar = (1.00 * p - (1e-8)) / 2000.00;int l = 1;int r = 10000;while (l <= r){int mid = (l + r) >> 1;if(f[mid][k] >= bar) ans = mid,r = mid - 1;else l = mid + 1;}printf("%d\n",ans);}return 0;
}

http://www.lryc.cn/news/611513.html

相关文章:

  • 机器学习④【算法详解:从决策树到随机森林】
  • 一周学会Matplotlib3 Python 数据可视化-图形的组成部分
  • 场外期权的卖方是什么策略?
  • Python包管理新利器:uv全面解析与Conda对比指南
  • 从 LinkedIn 到 Apache:Kafka 的架构设计与应用场景
  • KafKa 项目 -- GitHub 学习
  • 【第6话:相机模型2】相机标定在自动驾驶中的作用、相机标定方法详解及代码说明
  • 在Word和WPS文字中如何输入汉字的偏旁部首
  • SELinux加固Linux安全2
  • docker安装FFmpeg
  • SmartMediaKit 模块化音视频框架实战指南:场景链路 + 能力矩阵全解析
  • Flink CDC如何保障数据的一致性?
  • 力扣经典算法篇-44-组合总和(回溯问题)
  • Ubuntu20.04 离线安装 FFmpeg 静态编译包
  • 【unity实战】用unity实现一个3D俯视角暗杀潜行恐怖类游戏,主要是实现视野范围可视化效果
  • X86-ubuntu22.04远程桌面只有1/4无法正常操作
  • 问题定位排查手记1 | 从Windows端快速检查连接状态
  • 分布式文件系统07-小文件系统的请求异步化高并发性能优化
  • ubuntu 22.04 中安装python3.11 和 3.11 的 pip
  • STM32U5 外部中断不响应问题分析
  • Ubuntu设置
  • DevOps时代的知识基座革命:Gitee Wiki如何重构研发协作范式
  • 基于51单片机的温控风扇Protues仿真设计
  • 【面试场景题】电商秒杀系统的库存管理设计实战
  • Python高级排序技术:非原生可比对象的自定义排序策略详解
  • 17.10 智谱AI GLM 篇:ChatGLM3-6B 快速上手
  • LeetCode每日一题,8-6
  • List、ArrayList 与顺序表
  • 软考软件设计师考点总结
  • 模电知识点总结