(C++)剑指offer-拓展:骰子的点数(动态规划)
(C++)剑指offer-拓展:骰子的点数
考虑用动归,数组dp[i][j]表示用i个骰子扔出和为j的可能数,因为第i个骰子可能扔出1-6的点数,则dp[i][j]=dp[i-1][j-1]+dp[i-1][j-2]+dp[i-1][j-3]+dp[i-1][j-4]+dp[i-1][j-5]+dp[i-1][j-6];状态表示f[i][j]:表示前i次总和是j的方案数;状态转化:f[i][j] += f[i-1][i - k];时间复杂度为O(n2),具体代码如下:
class Solution {public:vector<int> numberOfDice(int n) {vector<vector<int>> f(n + 1, vector<int>(6 * n + 1));vector<int> res;f[0][0] = 1;for(int i = 1; i <= n; i++){for(int j = 1; j <= i * 6; j++){for(int k = 1; k <= min(j, 6); k++)f[i][j] += f[i - 1][j - k];}}for(int i = n; i <= n*6; i++) res.push_back(f[n][i]);return res;}
};
(C++)剑指offer-拓展:骰子的点数(动态规划)相关推荐
- 剑指offer 68. 骰子的点数
✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343
- 【剑指offer】剪绳子(动态规划)
题目描述 给你一根长度为n的绳子,请把绳子剪成m段(m,n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],-,k[m].请问k[0] * k[1] * -* k[m]可 ...
- 剑指Offer第十天——T46——动态规划
剑指OfferT46 题目描述 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻译成 "l&q ...
- 剑指 Offer 14.剪绳子(动态规划、数学分析)
一.题目内容 二.题目分析 这道题目讲道理,我看到的第一眼就是动态规划,但是后来提交之后,发现还有大佬考虑用数学分析得出精简解法,在这里我也会一 一阐述. 对于动态规划而言,按照老套路,首先定义dp数 ...
- leetcode剑指 Offer 14- I. 剪绳子(动态规划)
给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m.n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]-k[m-1] .请问 k[0]k[1]-*k[m-1 ...
- 每日一道Leetcode - 剑指 Offer 14- I. 剪绳子【动态规划】
class Solution {public int cuttingRope(int n) {int[] dp = new int[n+1];for(int i = 2;i<=n;i++){fo ...
- 算法题解(剑指Offer篇)
文章目录 栈与队列(简单) *剑指 Offer 09. 用两个栈实现队列 - 12.27 剑指 Offer 30. 包含min函数的栈 - 12.27 链表(简单) *剑指 Offer 06. 从尾到 ...
- 【LeetCode】剑指 Offer 60. n个骰子的点数
[LeetCode]剑指 Offer 60. n个骰子的点数 文章目录 [LeetCode]剑指 Offer 60. n个骰子的点数 package offer;import java.util.Ar ...
- (待补充)【n个骰子的点数】剑指offer——面试题43:n个骰子的点数
剑指offer--面试题43:n个骰子的点数 [注意]此题再牛客网上没有OnlineJudge,在此补充解法. 题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为s.输入n,打印出s的所有可能的值 ...
- 剑指 Offer 60. n个骰子的点数(动态规划)
[剑指 Offer 60. n个骰子的点数] 思路: \qquad题目其实不难,写这篇博客主要是记录下C++使用vector开多维数组. \qquad思路类似于走台阶,每次可以走1,2,3阶,问到每一 ...
最新文章
- x86汇编语言从实模式百度云_Intel x86 CPU 32位保护模式杂谈之任务切换 上
- unslider调用配置选项
- NB-IoT与LoraWan技术分析与前景展望
- element里面popover里面的高度_五斗柜的高度一般是多少 五斗柜放在什么位置好
- [译] ASP.NET 生命周期 – ASP.NET 请求生命周期(三)
- BufferedInputStream的read()方法源码解析
- 基于JAVA+SpringMVC+Mybatis+MYSQL的医药信息管理系统
- idea swagger生成接口文档_Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据...
- 简单树匹配算法STM-实践篇
- 第 22 章 Node.js 安装
- jQuery数据缓存功能的解析及简单实现
- 什么是base64?
- php实现倒计时,PHP实现倒计时功能
- 【01】MyBatis基础知识
- 自由 解读STM32 F4xx 学习芯片 来点中文参考手册(free影响你收米了?不要lian)
- 【物联网毕设基础】单片机:NEC 协议红外遥控器
- R语言如何得到一个正态总体均值u的区间估计?
- 商务软件开发网课答案
- 初识linux之vim工具与bdb调试工具
- AppIcon-APP应用图标 一键生成工具