题意
称非叶节点都有两个儿子的二叉树为满二叉树。称恰有 k k k 个叶节点且任意节点的右儿子为均为叶节点的满二叉树为 k k k 连树。
记二叉树 A A A 包含 B B B 当且仅当 A A A 能通过若干次以下操作变成 B B B:
- 删除某个节点的两个子树;
- 若 x x x 为 y y y 的儿子,用 x x x 的两颗子树代替 y y y 的两棵子树。
问:有多少满二叉树叶子个数为 n n n,且不包含 m m m 连树。答案模 998244353 998244353 998244353。 n , m ≤ 1 0 7 n,m\leq 10^7 n,m≤107,2s。
题解
一见满二叉树的个数,立刻想到卡特兰数,立刻想到 01 序列(括号序列),立刻想到儿子有序的有根树数量,中国人的想像惟在这一层能够如此跃进 然后发现不包含 m m m 连树的满二叉树对应出来的有根树深度不超过 m − 1 m-1 m−1,然后就推不动了……
满二叉树怎么对应上括号序列上面有链接。
下面的 n