zoukankan      html  css  js  c++  java
  • 树的同构

    (n(leq 500))个点的树染 (m leq mod) 种颜色, 本质不同(颜色和形态)的染色数(对(998244353)取模),有根树。

    • 如果是无根树就找重心。

    重点在算树的同构:

    设:某种子树有 (cnt) 个同构的, (f_v) 为这种子树的染色方案数。

    [f_u = sum^{cnt}_ {i = 1} inom{cnt - 1}{i - 1} inom{f_v}{i} ]

    • 同构的子树,方案只在意每种染色方案选的数量不同。

      (inom{f_v}{i}) 为从(f_v)个染色方案里选(i)个不同的染色方案。

      (inom{cnt - 1}{i - 1})为用插板法将 (cnt) 个同构子树分配给 (i) 个染色方案的个数,(每种染色方案选的数量非空)。

    • 关于(f_v),由于lucas定理:

      [inom{f_v}{i} mod p = inom{lfloorfrac{f_v}{p} floor}{lfloorfrac{i}{p} floor} imes inom{f_v mod p}{i mod p} ]

      (i < p) 时,就有

      [inom{f_v}{i} mod p = inom{f_v mod p}{i} ]

      就能愉快的取模了。

  • 相关阅读:
    IDEA快捷的添加包名
    Spring源码(一)
    Java的理解
    剪绳子
    机器人的运动范围
    矩阵中的路径
    N皇后问题
    回溯法
    全排列
    反转链表
  • 原文地址:https://www.cnblogs.com/qjbqjb/p/15423727.html
Copyright © 2011-2022 走看看