专栏文章
草稿纸(这是真的)
个人记录参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mimzsuz4
- 此快照首次捕获于
- 2025/12/01 18:14 3 个月前
- 此快照最后确认于
- 2025/12/01 18:14 3 个月前
ZR3422
问题 1
给定两个排列 和 ,其中 大小为 , 大小为 。
现在你需要对长度为 的排列 计数,要满足:
- 的前 项大小关系和 相同
- 的后 项大小关系和 相同
Sol 1
答案是 。易证。
问题 2
给定两棵树 和 ,其中 大小为 , 大小为 。
现在你需要对大小为 的树 计数,要满足:
- 的根节点是 ,且 有两个儿子。
- 的左子树编号的大小关系和 相同。
- 的右子树编号的大小关系和 相同。
Sol 2
答案是 。其实和上一个一样。
问题 3
回到原题。
设 表示以 为根,大小为 ,深度为 的树。
转移是每次给这棵树加入一颗新的子树,假设新的子树大小为 ,深度为 ,则有转移:
上面的转移有问题,问题在哪。
Sol 3
假设有两种子树,,我们加入子树的顺序可能是 ,也可能是 ,会导致算重复。
问题 4
如何去重。
Sol 4
加条件。假设加入的子树是从 到 按顺序加入的,那么我们令这些子树的最大编号是递增的。
就是每次加入新的子树,我们强制令这个子树的最大编号是整棵树的最大编号。
新的转移式就是新家的子树少了一个点(最大编号那个点被固定了),因此是:
。
问题 5
复杂度过大,考虑优化。
Sol 5
我们枚举 ,那么就有:
使用前缀和优化即可。
BONUS
其实上面的常数有点大(我过不了),因此有一种更牛的 DP。
我们将深度为 的树的个数转化为深度 的树的个数。
设 表示大小为 ,根节点编号为 ,深度 的树的个数。
这样的好处是拼上一个子树可以直接使用 ,不用前缀和优化。还算简单,自己研究。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...