​传送门​

  • 考虑枚举划分「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_复杂度
    「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_复杂度_02
    这个可以反演成「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_复杂度_03
    「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_复杂度_04
    考虑一个「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_复杂度_05的贡献
    「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_组合数_06
    考虑「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_复杂度_07一下
    「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_组合数_08
    就是我们钦定「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_复杂度_09个置换长度为「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_复杂度_10的倍数,剩下的随便置换,这个可以组合数算
    我们记「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_组合数_11表示当前数为「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_复杂度_12时的带系数方案数,当然,也可以直接「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_复杂度_13(如果有逆元的话)
    「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_复杂度_14
    现在的复杂度是「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_复杂度_15
    ​​「USACO 2020 US Open Platinum」Exercise (容斥)(DP)_组合数_16