• 隔板法


    我又捡起这个东西了

    昨天考的不是很难的组合数和容斥 考场上弃掉了???挺难过的8 又被拎去教育了一顿

    这玩意一看就是一个容斥 其实有点裸 当时抽象成了一个可重集合的选取问题 于是用容斥计算了所有方案数 后来发现这种模型 是错误的

    那么先讲一种题解给出的思路 首先怎么抽象成为一个隔板法的模型呢

    先考虑没有任何限制 现在给定了n个位置 向里面填1-k这k个数字 每个数对应的位置数量 >=0 有的位置可以是空的 那么抽象成$sum_{i}x_i=n$ 那么此时全部加上+k 变成大于等于1的数字  

    我们就求出来了方案数 即$inom{n+k-1}{k-1}=inom{n+m-1}{n}$ 现在考虑存在若干组限制 考虑p固定的时候

    那么 对于设$g[i]$表示有i对可以组成p的方案数 那么对于有t对加起来为p的方案数 由于容斥原理 $sum_{i}(-1)^i*g_i$ 

    考虑$g[i]$ 怎么求 $g[i]=inom{t}{i}*inom{n-2*i+k-1}{k-1}$ 这个 式子是什么意思呢 在t对里面强制选择i对 然后剩余了n-2*i个数字 那么这些位置 可以填k个数字 有的位置可以为0

    那么 此时方案数用隔板法计算即可 这里不在赘述隔板法 jzyz题库题解里面写有qwq

    不过这里有一个纯隔板法的口胡

    首先我们考虑 把问题分离出来

    1. i 和 i-x 不能同时出现 

    2. 如果i是偶数 那么i/2 只能出现1次或者一次 

    对于第二个限制 情况数很少 我们不放在计算之前钦定一下 i/2 出现奇数次 或者0次 那么如果不是偶数 我们可以直接算 

    就是对于若干对限制来说 现在有一些数字可以填 一些不能填 假设现在限制是x对 有y个数字不受限制 然后又z个位置可以填

    我不想写这个了 没有代码 感觉在胡扯

     

  • 相关阅读:
    hyper虚拟机下对centos进行动态扩容
    《C#高级编程第七版》多线程之Events
    借鉴StanZhai核心代码,写了个博客园采集器
    文档转换之PDF转换为HTML
    书香电子书下载地址分析器
    c#常用类库及资源
    iis7.5 配置伪静态
    根据枚举类型获取描述
    从客户端检测到有潜在危险的Request.Form值
    Sql行列转换
  • 原文地址:https://www.cnblogs.com/Tyouchie/p/11832765.html
Copyright © 2020-2023  润新知