#ATagc062e. [AGC062E] Overlap Binary Tree

[AGC062E] Overlap Binary Tree

题目描述

给定一个奇数 NN 和一个非负整数 KK

请计算满足以下所有条件的整数对序列 ((L1,R1),(L2,R2),,(LN,RN))((L_1,R_1),(L_2,R_2),\dots,(L_N,R_N)) 的个数,并对 998244353998244353 取模。

  • (L1,R1,L2,R2,,LN,RN)(L_1,R_1,L_2,R_2,\dots,L_N,R_N)112N2N 的一个排列。
  • L1L2LNL_1 \leq L_2 \leq \dots \leq L_N
  • 对于所有 1iN1 \leq i \leq N,有 LiRiL_i \leq R_i
  • 恰好有 KKii 满足 Li+1=RiL_i+1=R_i
  • 存在一个以 11NN 编号的 NN 个顶点的有根二叉树 TT,满足下述性质:
    • TT 中,顶点 iijj 存在祖先-子孙关系,当且仅当区间 [Li,Ri][L_i,R_i][Lj,Rj][L_j,R_j] 有交集。

这里,有根二叉树指的是每个节点的子节点数为 0022 的有根树。在树 TT 中,如果顶点 jj 在连接根和顶点 ii 的简单路径上,或者顶点 ii 在连接根和顶点 jj 的简单路径上,则称顶点 iijj 存在祖先-子孙关系。

输入格式

输入为一行,包含两个整数:

NN KK

输出格式

输出满足条件的序列个数对 998244353998244353 取模的结果。

样例 1

输入

3 1

输出

2

样例 2

输入

1 0

输出

0

样例 3

输入

521 400

输出

0

样例 4

输入

199999 2023

输出

283903125

说明/提示

限制条件

  • 1N<2×1051 \leq N < 2 \times 10^5
  • 0KN0 \leq K \leq N
  • NN 是奇数
  • 输入的所有值均为整数

样例解释 1

例如,(L1,R1)=(1,5),(L2,R2)=(2,3),(L3,R3)=(4,6)(L_1,R_1)=(1,5),(L_2,R_2)=(2,3),(L_3,R_3)=(4,6) 时,只有 i=2i=2 满足 Li+1=RiL_i+1=R_i,即恰好有 11 个。此外,对于第 55 个条件中描述的树,顶点 11 作为根,其子节点为顶点 2233,这样的有根树是满足条件的。

由 ChatGPT 4.1 翻译