• CF438E The Child and Binary Tree


    题目链接

    一直以为要求点数为 n 导致不会做

    首先我们定义 (G) 表示对于一个点的树关于权值的 OGF。即 (G_i) 表示集合里存在不存在权值 (i)。定义 (F) 表示一棵无标号二叉树关于权值的 OGF,即 (F_i) 表示权值为 (i) 的二叉树的数量。

    显然有:(空树的权值为0)

    [F_0=1 ]

    [F_n = sum_{i+j+k=n}F_iG_jF_k,nge1 ]

    然后可以分治FFT了

    进一步转化为:

    [F=F^2G+1 ]

    其中加一是因为如果不加会违背 (F_0=1)

    然后就可以解二元一次方程了。

    [F^2G-F+1=0 ]

    [F=frac{1 pm sqrt{1-4G}}{2G} ]

    然后发现 G 没有逆元,并且加减不定,不会做。那么我们换一种方法:配方法

    [(FG-1/2)^2=1/4 - G ]

    [(FG-1/2)= pm sqrt{1/4-G} ]

    发现到现在各方面都是合法的。不过还是加减不定。不过显然 (G_0=0),等号左边的常数项为 (-1/2),那么我们必定要求右边的常数项也是负数,因此是减不是加。即:

    [FG-1/2=-sqrt{1/4-G} ]

    移项:

    [FG=frac{1-sqrt{1-4G}}{2} ]

    发现 (G) 还是移不过去,怎么办?

    神仙告诉我们,需要分母无理化:

    [FG=frac{4G}{2(1+sqrt{1-4G})} ]

    上面单拎出来个 (G),然后就爽了:

    [(F-frac{2}{1+sqrt{1-4G}})G=0 ]

    (G) 必定不为0(尽管常数项是0),那么肯定是左边那项为0.即:

    [F=frac{2}{1+sqrt{1-4G}} ]

    然后直接求即可。需要多项式开根,多项式求逆。

  • 相关阅读:
    899. Orderly Queue
    856. Score of Parentheses
    833. Find And Replace in String
    816. Ambiguous Coordinates
    770. Basic Calculator IV
    冒泡排序(Bubble Sort)
    C
    B
    A
    HDOJ-1391
  • 原文地址:https://www.cnblogs.com/JiaZP/p/13503814.html
Copyright © 2020-2023  润新知