LeetCode 837. 新21点(动态规划)

文章目录

    • 1. 题目
    • 2. 解题
      • 2.1 暴力超时
      • 2.2 优化

1. 题目

爱丽丝参与一个大致基于纸牌游戏 “21点” 规则的游戏,描述如下:

爱丽丝以 0 分开始,并在她的得分少于 K 分时抽取数字。
抽取时,她从 [1, W] 的范围中随机获得一个整数作为分数进行累计,其中 W 是整数。
每次抽取都是独立的,其结果具有相同的概率。

当爱丽丝获得 >= K 分时,她就停止抽取数字。
爱丽丝的分数不超过 N 的概率是多少?

示例 1:
输入:N = 10, K = 1, W = 10
输出:1.00000
说明:爱丽丝得到一张卡,然后停止。示例 2:
输入:N = 6, K = 1, W = 10
输出:0.60000
说明:爱丽丝得到一张卡,然后停止。
在 W = 106 种可能下,她的得分不超过 N = 6 分。示例 3:
输入:N = 21, K = 17, W = 10
输出:0.73278提示:
0 <= K <= N <= 10000
1 <= W <= 10000
如果答案与正确答案的误差不超过 10^-5,则该答案将被视为正确答案通过。
此问题的判断限制时间已经减少。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/new-21-game
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

2.1 暴力超时

  • 每个位置等于它前面w个位置以 1/w的该跳过来的概率值和
  • 105 / 146 个通过测试用例
9811	# 超时
8890
7719
class Solution {
public:double new21Game(int N, int K, int W) {vector<double> dp(N+1, 0.0);dp[0] = 1.0;int i, wi;for(i = 0; i < K; ++i){for(wi = 1; wi <= W; ++wi){if(i+wi <= N)dp[i+wi] += dp[i]/W;}}double ans = 0.0;for(i = K; i <= N; ++i)ans += dp[i];return ans;}
};

2.2 优化

  • 每个位置 i 之前的W个位置(相当于滑动窗口)的概率之和prob,到达 i 的的概率为 prob/W
    在这里插入图片描述
class Solution {
public:double new21Game(int N, int K, int W) {vector<double> dp(N+1, 0.0);if(K == 0 || N >= K + W) return 1.0;//肯定不会超出Ndp[0] = 1;double prob = 1.0;//停在 i前面 w个位置的概率之和, 初值在0位置概率为1int i;for(i = 1; i < K; ++i)//小于K时,可以继续,w个前缀可以加上本次的概率{if(i <= W){dp[i] = prob/W;//前面所有的位置都可以到此处,每个位置乘以1/wprob += dp[i];//前缀概率和,+本次}else	//超过w个了{dp[i] = (prob-dp[i-W-1])/W;//不在窗口内的,不能到i处了,需要减去prob += dp[i] - dp[i-W-1];//前缀+本次,-不在窗口内的}}for( ; i >= K && i <= N; ++i)// >= K 了, 不能再走了,不加本次的概率{if(i <= W)dp[i] = prob/W;else{dp[i] = (prob-dp[i-W-1])/W;prob -= dp[i-W-1];//不加本次的概率,在窗口w外的减去}}for(i = K, prob = 0.0; i <= N; ++i)prob += dp[i];return prob;}
};

4 ms 9.4 MB

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

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

相关文章

计算机网络划分的标准,计算机网络基础

1.具有统一的网络体系结构、遵循国际标准化协议的计算机网络在第三代网络出现以前各厂家为了霸占市场采用自己独特的技术并开发了自己的网络体系结构网络无法实现不同厂家设备互连这样就阻碍了大范围网络的发展。后来为了实现网络大范围的发展和不同厂家设备的互连1977年国际标…

大型软件是否占用计算机内存,电脑系统开机内存占用多少正常

原标题&#xff1a;电脑系统开机内存占用多少正常正常情况下有多少启动内存&#xff1f;如果使用2G内存&#xff0c;则Win7在启动时基本上可以达到50&#xff05;以上&#xff0c;运行点程序肯定会达到80&#xff05;&#xff0c;这是正常的。如果使用4G内存&#xff0c;则Win7…

LeetCode 1267. 统计参与通信的服务器(计数)

1. 题目 这里有一幅服务器分布图&#xff0c;服务器的位置标识在 m * n 的整数矩阵网格 grid 中&#xff0c;1 表示单元格上有服务器&#xff0c;0 表示没有。 如果两台服务器位于同一行或者同一列&#xff0c;我们就认为它们之间可以进行通信。 请你统计并返回能够与至少一…

Informix IDS 11系统料理(918查验)认证指南,第 4 部分: 功能调优(5)

更新统计信息的调优IDS 使用基于本钱的优化器&#xff1a;当优化器确定盘诘规画时&#xff0c;它为每个可以的规画付与一个本钱&#xff0c;然后选择本钱最低的规画。下面是优化器用于确定每个盘诘规画的本钱的一些要素&#xff1a;与每个文件系统会见相干的 I/O 请求的数目 确…

Yakuake 2.8 beta1

Toy Posted in AppsRSSTrackback Yakuake 这个终端模拟器我们已经批评过&#xff0c;它可以将一些异常不错的下场融入到你的终端体验中。本日&#xff0c;该办法推出了 2.8 beta1 版&#xff0c;新增了皮肤经管、全屏情势、以及可将会话别离到多个终端窗口等功用。- Download Y…

怎样用计算机添加文章标题,计算机论文题目怎么定-易指做帮写网

1.相关理论基础分析1.1宠物救助系统理论阐述在很多区域&#xff0c;猫和狗等小动物均处于一种散养的状态&#xff0c;这样一来就使其成为流浪动物&#xff0c;无家可归&#xff0c;在城市的街道上游走。此外&#xff0c;由于流浪猫狗的繁衍速度较快&#xff0c;壮大流浪动物的群…

LeetCode 390. 消除游戏(类似约瑟夫环,找映射规律)

1. 题目 给定一个从1 到 n 排序的整数列表。 首先&#xff0c;从左到右&#xff0c;从第一个数字开始&#xff0c;每隔一个数字进行删除&#xff0c;直到列表的末尾。 第二步&#xff0c;在剩下的数字中&#xff0c;从右到左&#xff0c;从倒数第一个数字开始&#xff0c;每隔…

四川大学计算机学院挑战杯,“挑战杯”四川大学2018-2019年大学生课外学术科技作品竞赛决赛答辩举行...

3月22日下午&#xff0c;“挑战杯”四川大学2018-2019年大学生课外学术科技作品竞赛决赛答辩在望江基础教学楼A座顺利举行。从校赛报名阶段的263支队伍中脱颖而出的108支团队进行了现场PPT陈述和评委问辨。参赛项目包括科技发明类、自然科学论文类、社会哲学调查报告类作品。评…

LeetCode 519. 随机翻转矩阵(哈希)

1. 题目 题中给出一个 n_rows 行 n_cols 列的二维矩阵&#xff0c;且所有值被初始化为 0。 要求编写一个 flip 函数&#xff0c;均匀随机的将矩阵中的 0 变为 1&#xff0c;并返回该值的位置下标 [row_id,col_id]&#xff1b; 同样编写一个 reset 函数&#xff0c;将所有的值都…

迪士尼手机官方专卖东家京破产

迪士尼手机业务一向都在不时的展开&#xff0c;迪士尼品牌各种周边主题手机掉掉了MM们的喜好。上个月脱手脱手&#xff0c;迪士尼在日本推出了特别版的Android智好手机&#xff0c;并举办了大面积的电视告白推行&#xff0c;昨天迪士尼挪动在东京市中心开放了他们的官方实体专…

通过 .NET Framework 中的 XPath 和 XSLT API 方便地操作 XML 数据

本文假设您熟悉 Visual Basic .NET 下载本文的代码&#xff1a; XPathandXSLT.exe (166KB) 摘要 XPath 是一种正在兴起的通用查询语言。通过 XPath&#xff0c;可以在基于 XML 的数据源中识别和处理一组相关的节点。XPath 提供了一个基础结构&#xff0c;它是 .NET Framewo…

测试网络机顶盒的软件,2018网络机顶盒装机必备的几款系统工具,亲测好用

很多用户都喜欢比较网络机顶盒的配置&#xff0c;可是配置固然重要&#xff0c;如果没有好的日常保护&#xff0c;网络机顶盒受损程度也会很大。高配置的网络机顶盒在长时间使用后&#xff0c;也会出现卡顿&#xff0c;运行变慢等问题。今天给大家介绍几款系统工具&#xff0c;…

测试一体机风扇分贝软件,9款小风扇深度横评,风力、噪音测试加拆解,告诉你谁最值得买...

炎热的夏天又又又来了&#xff01;虽然现在家里、办公室都有空调&#xff0c;但是当我们刚从暴热的室外进入室内时&#xff0c;空调还是很难让我们快速拥有舒爽温度&#xff0c;很多人都会选择一个台式小风扇作为辅助降温产品。但市面上的风扇品牌繁多&#xff0c;怎么才能选择…

计算机摄像头打不开,电脑摄像头打不开、用不了怎么办(操作简单),这几步你要了解...

有时候我们会遇到在开视频时电脑无法打开摄像头&#xff0c;这有可能是摄像头本身就有问题&#xff0c;也有可能是因为权限设置美没有到位&#xff0c;导致摄像头不能打开。今天咱们来解决一下&#xff0c;电脑摄像头无法打开的问题。工具/材料鲁大师或者360驱动大师等可以修改…

fiddler怎么修改服务器返回数据,基于Fiddler实现修改接口返回数据进行测试

方法介绍与比对在测试的过程中&#xff0c;有的需求是这样的&#xff0c;它需要你修改接口返回的数据&#xff0c;从而检查在客户端手机app内是否显示正确&#xff0c;这也算是一种接口容错测试&#xff0c;接口容错测试属于app性能(专项)测试的其中一种。通过Fiddler我们可以有…

LeetCode 886. 可能的二分法(着色DFS/BFS/拓展并查集)

文章目录1. 题目2. 解题2.1 DFS2.2 BFS2.3 并查集1. 题目 给定一组 N 人&#xff08;编号为 1, 2, …, N&#xff09;&#xff0c; 我们想把每个人分进任意大小的两组。 每个人都可能不喜欢其他人&#xff0c;那么他们不应该属于同一组。 形式上&#xff0c;如果 dislikes[i…

LeetCode 685. 冗余连接 II(并查集)

1. 题目 在本问题中&#xff0c;有根树指满足以下条件的有向图。该树只有一个根节点&#xff0c;所有其他节点都是该根节点的后继。 每一个节点只有一个父节点&#xff0c;除了根节点没有父节点。 输入一个有向图&#xff0c;该图由一个有着N个节点 (节点值不重复1, 2, …, N…

红黑树的c++完整实现源码

红黑树的c完整实现源码 作者&#xff1a;July、saturnman。时间&#xff1a;二零一一年三月二十九日。出处&#xff1a;http://blog.csdn.net/v_JULY_v。声明&#xff1a;版权所有&#xff0c;侵权必究。------------------------------------------- 前言&#xff1a; 本人…

[Kesci] 新人赛 · 员工满意度预测

文章目录1. 导入工具包2. 读取数据3. 特征处理3.1 数字特征归一化3.2 文字特征处理3.3 特征合并4. 定义模型训练5. 预测6. 新人赛结果竞赛地址 使用 sklearn Pipeline 模板 1. 导入工具包 %matplotlib inline import numpy as np import matplotlib.pyplot as plt plt.rcPar…

webusercontrol ajax,ASP.NET页面使用AjaxPro2完成JS调用后台方法

一、首先下载AjaxPro.2.dll(附下载地址)百度网盘链接&#xff1a;https://pan.baidu.com/s/1r87DE1Tza9F4NbJwTCS1AQ提取码&#xff1a;10p6二、在Visual studio中创建空Web项目&#xff0c;并将AjaxPro.2.dll复制到bin目录下&#xff0c;包括在项目中三、打开Web.config文件&a…