​Sol​

【省选模拟】20/05/31_2d

  • 考虑每个位置有个被最早染黑的时间,求的就是这些时间的第【省选模拟】20/05/31_子树_02
    【省选模拟】20/05/31_子树_03 容斥一下,就是求

    其中 【省选模拟】20/05/31_2d_04 是不包含集合 【省选模拟】20/05/31_子树_05 的区间个数,考虑 【省选模拟】20/05/31_子树_06 表示当前选到 【省选模拟】20/05/31_子树_07【省选模拟】20/05/31_子树_08【省选模拟】20/05/31_复杂度_09 的方案数,状态很少 【省选模拟】20/05/31_子树_10 可以通过
  • 考虑一个复杂度更好看但肯定跑不过【省选模拟】20/05/31_子树_11 的做法,我们先把转移写出来
    【省选模拟】20/05/31_2d_12
    考虑写成这样的形式
    【省选模拟】20/05/31_复杂度_13
    代入 【省选模拟】20/05/31_2d_14 个点值就可以插出原多项式,注意到我们强制在最后放一个 【省选模拟】20/05/31_2d_15,那么只需要对 【省选模拟】20/05/31_2d_16【省选模拟】20/05/31_2d_15 个多项式进行 【省选模拟】20/05/31_2d_18,复杂度 【省选模拟】20/05/31_复杂度_19
    回到上面的转移,发现是个卷积的形式,即
    【省选模拟】20/05/31_2d_20
    由于代的是点值,所以 【省选模拟】20/05/31_2d_04 可以预先算出来
    我们将 【省选模拟】20/05/31_子树_22 【省选模拟】20/05/31_2d_23,点乘转移,复杂度 【省选模拟】20/05/31_子树_24
    考虑最后只需要知道 【省选模拟】20/05/31_复杂度_25 的系数,所以我们只需要对 【省选模拟】20/05/31_2d_26 暴力 【省选模拟】20/05/31_2d_27 【省选模拟】20/05/31_2d_18 回去
    所以可以在 【省选模拟】20/05/31_2d_29 的时间解决这个问题

【省选模拟】20/05/31_2d_30

  • 考虑如何暴力【省选模拟】20/05/31_复杂度_31,我的做法是记录 【省选模拟】20/05/31_2d_32 表示 【省选模拟】20/05/31_2d_33 的子树,从 【省选模拟】20/05/31_子树_34 接上来一条还没有匹配的链(【省选模拟】20/05/31_子树_35 表示 【省选模拟】20/05/31_2d_33向上的边断掉)
    发现当 【省选模拟】20/05/31_子树_37 时,会将每个子树的 【省选模拟】20/05/31_子树_38 值乘上 【省选模拟】20/05/31_2d_39 然后合并上去(用线段树合并简单维护)
    【省选模拟】20/05/31_子树_35 时,先考虑子树中一个点和 【省选模拟】20/05/31_2d_33 拼接,可以在线段树中查询 【省选模拟】20/05/31_2d_42 某个值的 【省选模拟】20/05/31_子树_38 和还有一个 【省选模拟】20/05/31_2d_39 的系数,考虑两个子树的拼接,假设 【省选模拟】20/05/31_子树_45【省选模拟】20/05/31_子树_34【省选模拟】20/05/31_子树_02
  • 【省选模拟】20/05/31_2d_48 时不存在这种情况
    【省选模拟】20/05/31_复杂度_49 时,两个都必须选才会有值,必定存在一个轻儿子,我们 【省选模拟】20/05/31_复杂度_50 那个轻儿子
    【省选模拟】20/05/31_复杂度_51 时,它必须选,若它是重儿子,我们 【省选模拟】20/05/31_复杂度_50 所有轻儿子,否则我们 【省选模拟】20/05/31_复杂度_50 除它以外的轻儿子,然后 【省选模拟】20/05/31_复杂度_50 它自己与重儿子拼接
    【省选模拟】20/05/31_子树_55 时, 【省选模拟】20/05/31_复杂度_50 所有轻儿子并考虑与前面的拼接,【省选模拟】20/05/31_复杂度_50 完后将它的线段树合并上去

【省选模拟】20/05/31_复杂度_58

【省选模拟】20/05/31_2d_59

  • 以下【省选模拟】20/05/31_2d_60是原问题的【省选模拟】20/05/31_复杂度_61,卡特兰数用【省选模拟】20/05/31_子树_62表示,我们对【省选模拟】20/05/31_子树_63个置换统计不动点个数
  • 容易发现,当【省选模拟】20/05/31_2d_60为偶数时,置换个数必须为偶数
    【省选模拟】20/05/31_2d_60为奇数时,对角线可能匹配,此时的不动点个数是【省选模拟】20/05/31_复杂度_66
    设环的个数为【省选模拟】20/05/31_复杂度_67,环的大小为【省选模拟】20/05/31_子树_68,考虑求出【省选模拟】20/05/31_复杂度_69表示有【省选模拟】20/05/31_复杂度_67个环的方案数
    我们枚举与 1 号相连的点【省选模拟】20/05/31_2d_71,它们中间的连边方式为【省选模拟】20/05/31_2d_72,并且可以确定【省选模拟】20/05/31_2d_73个环的连边方式,于是有
    【省选模拟】20/05/31_2d_74
    【省选模拟】20/05/31_2d_75可以得到【省选模拟】20/05/31_复杂度_76
    将其泰勒展开可以知道【省选模拟】20/05/31_复杂度_77,所以可以【省选模拟】20/05/31_子树_78计算答案