zoukankan      html  css  js  c++  java
  • BZOJ2339/LG3214 「HNOI2011」 卡农 组合数学

    问题描述

    BZOJ2339


    本题的一些心得

    对于这种无序集合计数类问题,可以通过对方案数除以某个数的阶乘,使得无序化变为有序化。

    设计DP方程时候,应该先有序的列出状态转移方程每一项的来源,并一项项推导式子,可以使得做题过程更加有条理。

    一个拥有良好科学素养的人,一定是有条理的 ——李理


    题解

    对于本题,发现如果最后对答案除以 (m!),则可以使得集合 「有序化」 。

    对于一个满足要求的方案,必须满足以下 (3) 个条件:

    • 没有互相重复的集合

    • 没有空集

    • 集合中的每个元素都必须出现偶数次

    (dp[i]) 代表满足以上三个限制条件时的方案数。

    对于三个限制条件分开考虑。

    首先,对于条件 (3) ,只要知道 (dp[1],dp[2],cdot,dp[i-1]) ,就可以推出 (dp[n]=A_{2^n-1}^{i-1})

    对于条件 (1) ,假设集合 (j) 与集合 (i) 重复,则 (j)(i-1) 种取法,(i)(2^n-1-(i-2)=2^n-i+1) 种取法,本处去掉的贡献为 (dp[i-2] imes (n-1) imes (2^n-i+1))

    对于条件 (2) ,如果有空集,则前 (i-1) 个符合条件,去掉贡献 (dp[i-1])


    (mathrm{Code})

    调试中,码力不行,甘拜下风
    
  • 相关阅读:
    085_JS Promise
    086_Service Cloud
    081_Introducing trigger handler class
    080_Dataloader.io
    Veeva_001常见问题总结
    UML 组成 1
    078_Sublime HaoIDE 搭建 Lightning Aura环境
    075_解密加密
    074_Wrapper_Class
    073_SFDC Limit
  • 原文地址:https://www.cnblogs.com/liubainian/p/12031799.html
Copyright © 2011-2022 走看看