atcoder#ABC220E. [ABC220E] Distance on Large Perfect Binary Tree

[ABC220E] Distance on Large Perfect Binary Tree

题目描述

2N1 2^N-1 頂点からなる木があります。
頂点には 1 1 から 2N1 2^N-1 の番号がつけられており、各 1 i < 2N1 1\leq\ i\ <\ 2^{N-1} について、

  • 頂点 i i と頂点 2i 2i を結ぶ無向辺
  • 頂点 i i と頂点 2i+1 2i+1 を結ぶ無向辺

が存在します。これら以外の辺はありません。

2 2 頂点間の距離を、その 2 2 頂点を結ぶ単純パスに含まれる辺の個数とします。

頂点の組 (i,j) (i,j) であって、距離が D D であるようなものの個数を 998244353 998244353 で割った余りを求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N D D

输出格式

答えを出力せよ。

题目大意

给定一个完全二叉树,一共有 2N12 ^ N - 1 个节点,按 112N12 ^ N - 1 编号。其中,对于 1i<2N11 \le i < 2 ^ {N - 1},有:

  • 节点 ii 与节点 2i2i 有一条无向边。
  • 节点 ii 与节点 2i+12i + 1 有一条无向边。

22 节点之间的距离是连接该 22 节点的简单路径中包含的边数。

求有多少组节点 (i,j)(i,j),满足节点 ii 与节点 jj 的距离为 DD

答案模 998244353998244353

3 2
14
14142 17320
11284501

提示

制約

  • 2  N  106 2\ \leq\ N\ \leq\ 10^6
  • 1  D  2× 106 1\ \leq\ D\ \leq\ 2\times\ 10^6
  • 入力に含まれる値は全て整数である

Sample Explanation 1

与えられる木は以下の図のようなものです。 ![図](https://img.atcoder.jp/ghi/86d098048a50638decb39ed6659d32cf.png) 距離が 2 2 であるような頂点の組は $ (1,4),(1,5),(1,6),(1,7),(2,3),(3,2),(4,1),(4,5),(5,1),(5,4),(6,1),(6,7),(7,1),(7,6) $ の 14 14 組存在します。