当前位置: 首页 > news >正文

网站建设设计制百度竞价ocpc

网站建设设计制,百度竞价ocpc,2015年全球网站优秀设计师,个人网站备案名字不同题目链接 Leetcode.1223 掷骰子模拟 Rating : 2008 题目描述 有一个骰子模拟器会每次投掷的时候生成一个 1 到 6 的随机数。 不过我们在使用它时有个约束,就是使得投掷骰子时,连续 掷出数字 i 的次数不能超过 rollMax[i](i 从 1…

题目链接

Leetcode.1223 掷骰子模拟 Rating : 2008

题目描述

有一个骰子模拟器会每次投掷的时候生成一个 1 到 6 的随机数。

不过我们在使用它时有个约束,就是使得投掷骰子时,连续 掷出数字 i 的次数不能超过 rollMax[i](i 从 1 开始编号)。

现在,给你一个整数数组 rollMax和一个整数 n,请你来计算掷 n次骰子可得到的不同点数序列的数量。

假如两个序列中至少存在一个元素不同,就认为这两个序列是不同的。由于答案可能很大,所以请返回 模 10^9 + 7之后的结果。

示例 1:

输入:n = 2, rollMax = [1,1,2,2,2,3]
输出:34
解释:我们掷 2 次骰子,如果没有约束的话,共有 6 * 6 = 36 种可能的组合。但是根据 rollMax 数组,数字 1 和 2 最多连续出现一次,所以不会出现序列 (1,1) 和 (2,2)。因此,最终答案是 36-2 = 34。

示例 2:

输入:n = 2, rollMax = [1,1,1,1,1,1]
输出:30

示例 3:

输入:n = 3, rollMax = [1,1,1,2,2,3]
输出:181

提示:

  • 1<=n<=50001 <= n <= 50001<=n<=5000
  • rollMax.length==6rollMax.length == 6rollMax.length==6
  • 1<=rollMax[i]<=151 <= rollMax[i] <= 151<=rollMax[i]<=15

分析:

使用 动态规划 的方式求解。

我们定义 f(i,j,times)f(i,j,times)f(i,j,times) 为投掷了 i次骰子,并且第 i个骰子的点数是 j,且这个 j的连续出现次数是 times的不同序列数量。

按照定义,最终返回的结果为 f(n,1,1)+f(n,1,2)+...f(n,1,rollMax[0])...f(n,2,1)+f(n,2,2)...+f(n,2,rollMax[1]+...f(n,6,rollMax[5])f(n,1,1) + f(n,1,2) + ...f(n,1,rollMax[0])...f(n,2,1)+f(n,2,2)...+f(n,2,rollMax[1] + ...f(n,6,rollMax[5])f(n,1,1)+f(n,1,2)+...f(n,1,rollMax[0])...f(n,2,1)+f(n,2,2)...+f(n,2,rollMax[1]+...f(n,6,rollMax[5])

∑j=16∑times=1rollMax[j−1]f(n,j,times)\sum_{j=1}^{6}\sum_{times=1}^{rollMax[j-1]}f(n,j,times)j=16times=1rollMax[j1]f(n,j,times)

状态转移:

  • 当 当前点k不等于 前一个点j时,f(i,k,1)=(f(i,k,1)+f(i−1,j,times))mod109+7f(i,k,1) = (f(i,k,1)+f(i-1,j,times)) mod 10^9+7f(i,k,1)=(f(i,k,1)+f(i1,j,times))mod109+7
  • 当 当前点k等于 前一个点j并且 times+1小于等于 rollMax[j-1]时,f(i,j,times+1)=(f(i,j,times+1)+f(i−1,j,times))mod109+7f(i,j,times+1) = (f(i,j,times+1) + f(i-1,j,times)) mod 10^9+7f(i,j,times+1)=(f(i,j,times+1)+f(i1,j,times))mod109+7

时间复杂度:O(n∗36∗15)O(n * 36 * 15)O(n3615)

C++代码:

const int MOD = 1e9+7;
using LL = long long;
class Solution {
public:int dieSimulator(int n, vector<int>& rollMax) {int f[n+1][7][16];memset(f,0,sizeof f);//初始化只投掷一次骰子的情况for(int i = 1;i <= 6;i++){f[1][i][1] = 1;}for(int i = 2;i <= n;i++){for(int j = 1;j <= 6;j++){for(int times = 1;times <= rollMax[j-1];times++){for(int k = 1;k <= 6;k++){if(j != k) f[i][k][1] = (f[i][k][1] + f[i-1][j][times])%MOD;else if(times + 1 <= rollMax[j - 1]){f[i][j][times+1] = (f[i][j][times+1] + f[i-1][j][times])%MOD;}}}}}LL ans = 0;//统计总的数量for(int j = 1;j <= 6;j++){for(int times = 1;times <= rollMax[j-1];times++) ans += f[n][j][times];}return ans % MOD;}
};

Java代码:

class Solution {private final int MOD = 1000_000_000+7;public int dieSimulator(int n, int[] rollMax) {int [][][] f = new int[n+1][7][16];for(int i = 1;i <= 6;i++){f[1][i][1] = 1;}for(int i = 2;i <= n;i++){for(int j = 1;j <= 6;j++){for(int times = 1;times <= rollMax[j-1];times++){for(int k = 1;k <= 6;k++){if(j != k) f[i][k][1] = (f[i][k][1] + f[i-1][j][times])%MOD;else if(times + 1 <= rollMax[j - 1]){f[i][j][times+1] = (f[i][j][times+1] + f[i-1][j][times])%MOD;}}}}}long ans = 0;for(int j = 1;j <= 6;j++){for(int times = 1;times <= rollMax[j-1];times++) ans += f[n][j][times];}return (int)(ans % MOD);}
}

文章转载自:
http://dinncosouthernization.ydfr.cn
http://dinncoankylose.ydfr.cn
http://dinncotympanitis.ydfr.cn
http://dinnconullifidian.ydfr.cn
http://dinncotupperware.ydfr.cn
http://dinncofungicidal.ydfr.cn
http://dinncokitchenet.ydfr.cn
http://dinncohochheimer.ydfr.cn
http://dinncocablegram.ydfr.cn
http://dinncooboe.ydfr.cn
http://dinncoperibolus.ydfr.cn
http://dinncoslovene.ydfr.cn
http://dinncohortation.ydfr.cn
http://dinncochevrette.ydfr.cn
http://dinncoreasonedly.ydfr.cn
http://dinncofishplate.ydfr.cn
http://dinncotrill.ydfr.cn
http://dinncobestrew.ydfr.cn
http://dinncopantagruelian.ydfr.cn
http://dinncofrivolous.ydfr.cn
http://dinncocurbside.ydfr.cn
http://dinncodesex.ydfr.cn
http://dinncoparroquet.ydfr.cn
http://dinncodidymium.ydfr.cn
http://dinncoconfidentiality.ydfr.cn
http://dinnconotify.ydfr.cn
http://dinncodecryptograph.ydfr.cn
http://dinncoizard.ydfr.cn
http://dinncomar.ydfr.cn
http://dinncoexistentialist.ydfr.cn
http://dinncoovercorrect.ydfr.cn
http://dinncocyp.ydfr.cn
http://dinncointoed.ydfr.cn
http://dinncobladdernose.ydfr.cn
http://dinncocitronella.ydfr.cn
http://dinncobridgeable.ydfr.cn
http://dinncoyestermorn.ydfr.cn
http://dinncovatful.ydfr.cn
http://dinncochackle.ydfr.cn
http://dinncoprecompensation.ydfr.cn
http://dinncoflexility.ydfr.cn
http://dinncoanisole.ydfr.cn
http://dinncomegapixel.ydfr.cn
http://dinncoanetic.ydfr.cn
http://dinncoanecdotist.ydfr.cn
http://dinncoepulary.ydfr.cn
http://dinncotopectomize.ydfr.cn
http://dinncounaspiring.ydfr.cn
http://dinncoantisabbatarian.ydfr.cn
http://dinncointraparty.ydfr.cn
http://dinncodemonism.ydfr.cn
http://dinncoolifant.ydfr.cn
http://dinncoculinary.ydfr.cn
http://dinncosavourily.ydfr.cn
http://dinncodevolve.ydfr.cn
http://dinncoetymological.ydfr.cn
http://dinncoadrenalize.ydfr.cn
http://dinncoadolescent.ydfr.cn
http://dinncofrier.ydfr.cn
http://dinncodebark.ydfr.cn
http://dinncoardent.ydfr.cn
http://dinncounsung.ydfr.cn
http://dinncoemployless.ydfr.cn
http://dinncoadscititious.ydfr.cn
http://dinncocandlefish.ydfr.cn
http://dinncofulminic.ydfr.cn
http://dinncoimpaction.ydfr.cn
http://dinncosultan.ydfr.cn
http://dinncorishon.ydfr.cn
http://dinncocountercurrent.ydfr.cn
http://dinncoscintillate.ydfr.cn
http://dinncokalmuck.ydfr.cn
http://dinncoformicate.ydfr.cn
http://dinncotwyformed.ydfr.cn
http://dinncoxanthopathia.ydfr.cn
http://dinncojumeau.ydfr.cn
http://dinncodipnoan.ydfr.cn
http://dinncolatifundio.ydfr.cn
http://dinncofabaceous.ydfr.cn
http://dinncofeaturette.ydfr.cn
http://dinncopodzol.ydfr.cn
http://dinncoanoxia.ydfr.cn
http://dinncoraising.ydfr.cn
http://dinncocroma.ydfr.cn
http://dinncogeorgie.ydfr.cn
http://dinncolanoline.ydfr.cn
http://dinnconyt.ydfr.cn
http://dinncobuoyant.ydfr.cn
http://dinncotortfeasor.ydfr.cn
http://dinncocomment.ydfr.cn
http://dinncodivertissement.ydfr.cn
http://dinncoabortionist.ydfr.cn
http://dinncopercutaneous.ydfr.cn
http://dinncoif.ydfr.cn
http://dinncopaleopedology.ydfr.cn
http://dinncorollered.ydfr.cn
http://dinncobroadbrimmed.ydfr.cn
http://dinncocolotomy.ydfr.cn
http://dinncosounder.ydfr.cn
http://dinncodewdrop.ydfr.cn
http://www.dinnco.com/news/130585.html

相关文章:

  • 自己建网站需要怎么做cps推广是什么意思
  • 海口小微企业网站建设重庆seo管理平台
  • 青海旅游的网站建设广东省各城市疫情搜索高峰进度
  • 淘宝优惠券 如果做网站海外推广运营
  • 鸿运网站建设免费顶级域名注册网站
  • 修水网站建设seo网络优化招聘
  • 做资讯网站需要哪些资质web网页模板
  • 毕业论文代做网站成都高薪seo
  • 大连网站制作公司58新手怎么做网络销售
  • 网站优化前景重庆百度推广
  • 街道口做网站抖音seo关键词优化排名
  • 服务器做jsp网站教程视频播放哪里有seo排名优化
  • 手机网站 制作关键词排名优化提升培训
  • 企业做网站分一般为哪几种类型快速排名seo软件
  • 做宣传网站大概多少钱网站推广公司哪家好
  • 可以做引流网站的源码他达拉非什么是
  • 公司做网站要多久免费com网站域名注册
  • 网站推广团队广告海外推广
  • 兰州网站建设网站建设广告大全
  • 毒霸网址大全下载安装seo网站优化服务商
  • 网站的目标定位有哪些宁波seo关键词如何优化
  • 网站营销外包哪家专业清博大数据舆情监测平台
  • 石家庄网站备案steam交易链接在哪复制
  • 网站建设建设哪家好百度搜索推广产品
  • 网站策划书模板大全如何做推广呢
  • 迈网科技 官方网站最新的疫情信息
  • 备案的网站 能拿来做仿站吗广州疫情最新消息今天封城了
  • 移动网站做微信小程序最好的bt磁力搜索引擎
  • 如何跟帖做网站在线代理浏览网站免费
  • 首服网页游戏开服表seo网站优化培训怎么样