java组合总人数_多重集组合数(Java)

多重集组合数(Java)

多重集组合数(Java)

eb8e683f96f90a3cc4a89634b7b0c6d9.png

代码如下

package day06;

import java.util.Arrays;

public class 多重集组合数 {

public static void main(String[] args) {

int n = 3;

int m = 3;

int[] a = {1,2,3};

int M = 1000;

int pailie = getPailie(n, m, a, M);

System.out.println(pailie);

}

public static int getPailie(int n,int m ,int[] a,int M){

int[][] dp = new int[n+1][m+1];

for (int i = 0; i <=n; i++) {

dp[i][0] = 1;

}

for (int i = 0; i < n; i++) {

for (int j = 1; j <=m ; j++) {

if(j-1-a[i]>=0){

//在有取余的情况下,要避免减法运算的结果出现负数

dp[i+1][j] = (dp[i+1][j-1]+dp[i][j]-dp[i][j-1-a[i]]+M)%M;

}else{

dp[i+1][j] = (dp[i+1][j-1]+dp[i][j])%M;

}

}

}

for (int i = 0; i < dp.length; i++) {

System.out.println(Arrays.toString(dp[i]));

}

return dp[n][m];

}

}

多重集组合数(Java)相关教程

多重部分和问题(Java)

多重部分和问题(Java) 代码如下 package day05;import java.util.Arrays;public class 多重部分和问题 { public static void main(String[] args) { int n = 3; int[] a = {3,5,8}; int[] m = {3,2,2}; int K = 17; boolean k = isK(n, a, m, K); System.out.

Codeforces Round #678 (Div. 2) C. Binary Search(二分+组合数

Codeforces Round #678 (Div. 2) C. Binary Search(二分+组合数学) 给出数 n ,也就是说有 0~n-1 随机排列,给出 x 以及 x 的位置 pos,问 :在 x 固定在 pos 的条件下,利用二分搜索能够找到 x 的数列的排列方式有几种 其实一开始做这个题的时候,一点思路

Codeforces Round #678 (Div. 2) C题 Binary Search(组合数学)

Codeforces Round #678 (Div. 2) C题 Binary Search(组合数学) 题目链接:https://codeforc.es/contest/1436/problem/C Andrey thinks he is truly a successful developer, but in reality he didn’t know about the binary search algorithm until recen

(最大流,二分图的多重匹配) Magic Potion

(最大流,二分图的多重匹配) Magic Potion 题意:n个人,m个怪物,k瓶药水,每个人可以打死对应的集合里面的一个怪物,一碰药水可以让一个人多打死一个怪物,每个人最多只能用一瓶药水,问最多能打死多少个怪物 思路:想到了匹配,然后用最大流做,一开始想

Codeforces559 C.Gerald and Giant Chess(dp+组合数学+容斥)

Codeforces559 C.Gerald and Giant Chess(dp+组合数学+容斥) 题意: 答案对1e9+7取模。 数据范围:h,w=1e5,n=2e3 解法: 对黑点排序。 令d[i]表示从(1,1)到达第i个黑点(x,y),且不经过其他黑点的方案数, 如果(1,1)到(x,y)矩形内没有其他黑点,那么方案数

pandas 难以置信的多重索引2——获取多重索引的值(史上最全)

pandas 难以置信的多重索引2——获取多重索引的值(史上最全) 我们平时使用到的多重索引,但是网上很少有人介绍如果获取多重索引本身的值,这部分的内容比上一节更加实用 获取多重索引的标签值 get_level_values()方法将返回一个特定级别上每个位置的标签向

多重继承和菱形问题

多重继承和菱形问题 翻译自 John Demetriou 2018年4月8日 的文章 《Multiple Inheritance And The Diamond Problem》 1 开篇之前,我假设每个人都知道在面向对象编程中继承是什么,以及它能提供什么好处。我不会深入探究对象继承的基础知识。这篇文章更关注

List集合数据移除(List.subList.clear)

List集合数据移除(List.subList.clear) List集合数据移除(List.subList.clear) 这两天遇到这么一个问题:一个集合的数据当作参数传入,现在 分段 使用这个集合的数据,使用完的数据需要在这个集合中被移除,方便获取第二段的数据。 假设:一个集合的数据长度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值