(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-拓展:骰子的点数(动态规划)相关推荐

  1. 剑指offer 68. 骰子的点数

    ✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343

  2. 【剑指offer】剪绳子(动态规划)

    题目描述 给你一根长度为n的绳子,请把绳子剪成m段(m,n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],-,k[m].请问k[0] * k[1] * -* k[m]可 ...

  3. 剑指Offer第十天——T46——动态规划

    剑指OfferT46 题目描述 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻译成 "l&q ...

  4. 剑指 Offer 14.剪绳子(动态规划、数学分析)

    一.题目内容 二.题目分析 这道题目讲道理,我看到的第一眼就是动态规划,但是后来提交之后,发现还有大佬考虑用数学分析得出精简解法,在这里我也会一 一阐述. 对于动态规划而言,按照老套路,首先定义dp数 ...

  5. 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 ...

  6. 每日一道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 ...

  7. 算法题解(剑指Offer篇)

    文章目录 栈与队列(简单) *剑指 Offer 09. 用两个栈实现队列 - 12.27 剑指 Offer 30. 包含min函数的栈 - 12.27 链表(简单) *剑指 Offer 06. 从尾到 ...

  8. 【LeetCode】剑指 Offer 60. n个骰子的点数

    [LeetCode]剑指 Offer 60. n个骰子的点数 文章目录 [LeetCode]剑指 Offer 60. n个骰子的点数 package offer;import java.util.Ar ...

  9. (待补充)【n个骰子的点数】剑指offer——面试题43:n个骰子的点数

    剑指offer--面试题43:n个骰子的点数 [注意]此题再牛客网上没有OnlineJudge,在此补充解法. 题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为s.输入n,打印出s的所有可能的值 ...

  10. 剑指 Offer 60. n个骰子的点数(动态规划)

    [剑指 Offer 60. n个骰子的点数] 思路: \qquad题目其实不难,写这篇博客主要是记录下C++使用vector开多维数组. \qquad思路类似于走台阶,每次可以走1,2,3阶,问到每一 ...

最新文章

  1. x86汇编语言从实模式百度云_Intel x86 CPU 32位保护模式杂谈之任务切换 上
  2. unslider调用配置选项
  3. NB-IoT与LoraWan技术分析与前景展望
  4. element里面popover里面的高度_五斗柜的高度一般是多少 五斗柜放在什么位置好
  5. [译] ASP.NET 生命周期 – ASP.NET 请求生命周期(三)
  6. BufferedInputStream的read()方法源码解析
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的医药信息管理系统
  8. idea swagger生成接口文档_Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据...
  9. 简单树匹配算法STM-实践篇
  10. 第 22 章 Node.js 安装
  11. jQuery数据缓存功能的解析及简单实现
  12. 什么是base64?
  13. php实现倒计时,PHP实现倒计时功能
  14. 【01】MyBatis基础知识
  15. 自由 解读STM32 F4xx 学习芯片 来点中文参考手册(free影响你收米了?不要lian)
  16. 【物联网毕设基础】单片机:NEC 协议红外遥控器
  17. R语言如何得到一个正态总体均值u的区间估计?
  18. 商务软件开发网课答案
  19. 初识linux之vim工具与bdb调试工具
  20. AppIcon-APP应用图标 一键生成工具

热门文章

  1. 如何高效写作公众号文章?
  2. CSS伪元素及元素的显示与隐藏的学习
  3. 优麒麟:打造全球最好用的Linux开源操作系统
  4. 用Python模拟抽奖
  5. EasyRTSPServer视频/RTSP服务/摄像机模拟器/安防视频服务器调用流程说明
  6. 将您重定向的次数过多什么意思_Linux重定向
  7. js中浮点数运算精度问题
  8. 为使在本计算机系统中开发的硬,计算机应用基础统考题库新网考计算机应用基础真题...
  9. 转--地球同步轨道、太阳同步轨道知识
  10. 什么是运维?什么是游戏运维?