【TODO】米哈游20230813笔试第三题

news/2024/11/6 13:42:40/

是计算抽中什么当期五星的期望。
现在的程序结果是99.6087。结果不对,有时间再调。

在这里插入图片描述

#include <iostream>
#include <bits/stdc++.h>
typedef long long LL;
using namespace std;int n = 90;
double p;
// double min_p = 1e-7;
double min_p = 0.0000000000000001;
vector<vector<double>> dp;// x 0 保底、1 不保底
// y 0 必、1-89 不必
// acc 累计概率
// 返回抽到当期期望数
double dfs(int x, int y, double acc){if(dp[x][y] != -1) return dp[x][y] + 1;if(acc <= min_p) {// TODOcout << x << " " << y << " " << acc << " " << dp[x][y] << "==================" << endl;return 1e18;}double g = 1;if(x == 1 && y == 0){dp[x][y] = 0.5 + 0.5 * dfs(0, 1, acc * 0.5);} else if(x == 0){dp[x][y] = p + (g-p) * dfs(0, (y+1) % n, acc * (g-p));} else{dp[x][y] = p/2 + (p/2) * dfs(0, (y+1) % n, acc * (p/2)) + (g-p) * dfs(1, (y+1) % n, acc * (g-p));}cout << x << " " << y << " " << acc << " " << dp[x][y] << endl;// xxx: 注意!!!要加1return dp[x][y] + 1;
}int main() {// int a, b;// while (cin >> a >> b) { // 注意 while 处理多个 case//     cout << a + b << endl;// }freopen("D:\\auxiliaryPlane\\project\\scuCode\\input.txt","r",stdin);freopen("D:\\auxiliaryPlane\\project\\scuCode\\output.txt","w",stdout);// cin >> p;p = 0.006;// 输出 104.5497057// 要求误差在1e-6内dp = vector<vector<double>>(2, vector<double>(n, -1));// 是否保底,连续没五次数 下次期望// 估计一个当前概率阈值dp[0][0] = 0;cout << dfs(1, 1, 1);// cout << 1;// cout << min_p;// printf("%.3f", min_p);
}
// 64 位输出请用 printf("%lld")

http://www.ppmy.cn/news/1029679.html

相关文章

[FPGA IP系列] FPGA常用存储资源大全(RAM、ROM、CAM、SRAM、DRAM、FLASH)

本文主要介绍FPGA中常用的RAM、ROM、CAM、SRAM、DRAM、FLASH等资源。 一、RAM RAM(Random Access Memory)是FPGA中最基本和常用的内部存储块&#xff0c;根据不同架构可以实现不同容量&#xff0c;最大可达几十Mb。 FPGA中的RAM主要包括: 分布式RAM&#xff1a;存在于逻辑块…

安装PaddleDetection-2.6.0版本-笔记

安装PaddleDetection-2.6.0版本-笔记 一、第一步先激活环境 conda activate base conda activate base安装完paddleDetection后要关闭conda激活环境 conda deactivate conda deactivate二、安装PaddleDetection2.6.0版本 #pip install PaddleDet2.6.0 #切换版本可安装pip i…

HCIP-OpenStack发放云主机

1、云中的概念 在云平台注册了一个账号&#xff0c;这个账号对于云平台来说&#xff0c;就是一个租户或者一个项目。 租户/项目&#xff08;tenant/project&#xff09;&#xff0c;是一个意思。主机聚合就是主机组的意思。 region&#xff08;区域&#xff09;&#xff0c;就…

python使用装饰器记录方法耗时

思路 python使用修饰器记录方法耗时&#xff0c;目的是每当方法执行完后&#xff0c;可以记录该方法耗时&#xff0c;而不需要在每个方法的执行前后&#xff0c;去创建一个临时变量&#xff0c;来记录耗时。 方式一&#xff08;不推荐&#xff09;&#xff1a; 在每个方法的…

【算法篇C++实现】常见排序算法

文章目录 &#x1f680;一、选择排序&#x1f680;二、冒泡排序&#x1f680;三、插入排序&#x1f680;四、希尔排序&#x1f680;五、堆排序&#x1f680;六、归并排序&#x1f680;七、快速排序⛳总结&#xff1a; &#x1f680;一、选择排序 算法精炼每趟从待排序的记录中…

APP外包开发的iOS开发语言

学习iOS开发需要掌握Swift编程语言和相关的开发工具、框架和技术。而学习iOS开发需要时间和耐心&#xff0c;尤其是对于初学者。通过坚持不懈的努力&#xff0c;您可以逐步掌握iOS开发技能&#xff0c;构建出功能丰富、优质的移动应用。今天和大家分享学习iOS开发的一些建议方法…

C++QT教程3——手册4.11.1自带教程(笔记)——创建一个QT快速应用

文章目录 创建一个QT快速应用创建项目创建主视图添加应用逻辑为视图添加动画素材文件 参考文章 创建一个QT快速应用 本教程使用内置的QML类型&#xff0c;介绍了Qt Quick的基本概念。有关可以选择的用户界面选项的更多信息&#xff0c;请参阅用户界面。 本教程描述了如何使用…

centos7使用yum安装gcc8

1 概述 cenots7自带的gcc版本为4.8.5&#xff0c;不方便编译一些软件&#xff0c;需要将gcc升级。升级gcc可以通过源码编译安装&#xff0c;也可以通过yum等软件管理工具来进行安装&#xff0c;本文介绍通过yum软件来安装gcc。 2 安装过程 2.1 安装scl源 yum install -y c…