热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

leetcode1155.掷骰子的N种方法(分组背包dp模板每组必须选且只选一个)

题目classSolution{#definemod1000000007public:intnumRollsToTarget(intd,intf,inttarget){int

题目
在这里插入图片描述在这里插入图片描述

class Solution {
#define mod 1000000007
public:int numRollsToTarget(int d, int f, int target) {int *dp&#61;new int[max(f,target)&#43;1];for(int i&#61;0;i<&#61;max(target,f);&#43;&#43;i) dp[i]&#61;0;for(int i&#61;1;i<&#61;f;&#43;&#43;i) dp[i]&#61;1;//一个骰子的时候for(int i&#61;2;i<&#61;d;&#43;&#43;i){//i个骰子//值得注意的是&#xff1a;每次dp[j]一定要为0啊&#xff01;而且这样 让dp[j]&#61;0//会有一部分没变成0 所以j-k>&#61;i-1 这个条件必须有for(int j&#61;target;j>&#61;i;--j){//i个骰子的总和dp[j]&#61;0;for(int k&#61;1;k<&#61;f&&j-k>&#61;i-1;&#43;&#43;k) dp[j]&#61;(dp[j]&#43;dp[j-k])%mod;}}return dp[target];}
};

推荐阅读
author-avatar
shangce
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有