美文网首页动态规划
多重集组合数

多重集组合数

作者: 山有木紫 | 来源:发表于2018-04-02 20:05 被阅读56次

在挑战程序设计竞赛第69页
公式
dp[i+1][j] = dp[i][j] + dp[i+1][j-1] - dp[i][j-1-a[i]]
的解释:
dp[i+1][j]:从前i种物品中取出j个的组合总数
分为两种情况:

  1. 没有取第i种。dp[i][j]:在前i-1种中取出j个

  2. 取了第i种。
    dp[i+1][j-1]:先从第i种取一个,再从前i种中取j-1个。但是这样包含了取了a[i]+1个第i种的情况,所以要减掉
    dp[i][j-1-a[i]]:在前i-1种中只取了j-1-a[i],这样在第i中就要取a[i]+1,所以要减掉

相关文章

  • 多重集组合数

    在挑战程序设计竞赛第69页公式dp[i+1][j] = dp[i][j] + dp[i+1][j-1] - dp[...

  • 多重集组合数

    感觉很简单啦,直接就能划分状态和状态转移了 所以就做完了哦!但是复杂度似乎有点高,这里有个常见的优化 我之前做过个...

  • 说说 Python 的 collections.Counter

    collections.Counter 类型可以用来给可散列的对象计数,或者是当成多重集合来使用 —— 多重集合就...

  • Python的collections.Counter类型,师兄教

    collections.Counter 类型可以用来给可散列的对象计数,或者是当成多重集合来使用 —— 多重集合就...

  • 南邮算法众数问题

    基础算法题:给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数,多重集合S中重数最大的元素称为...

  • 郑州轻工业大学oj题解1201: 众数问题

    题目描述给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。...

  • Oracle 集合处理sql

    /根据一组坐标+半径+生成的坐标精度生成一组圆形集合数据/SELECT SDO_UTIL.CIRCLE_POLYG...

  • python_列表

    python 列表:list 列表:可以存储一组数据的类型;组合数据类型 创建列表 name=list() ...

  • GEOquery 下载 GEO 数据

    前言 NCBI Gene Expression Omnibus(基因表达综合数据库,GEO)公开了很多高通量基因组...

  • Python学习笔记(六)

    第六章 组合数据类型 组合数据类型概述 计算机不仅对单个变量表示的数据进行处理,更多情况,计算机需要对一组数据进行...

网友评论

    本文标题:多重集组合数

    本文链接:https://www.haomeiwen.com/subject/nuoxhftx.html