CF1868C Travel Plan

题目描述

中考结束后的暑假,Tom 和 Daniel 计划去旅行。 他们所在的国家有 $n$ 个城市,编号从 $1$ 到 $n$。这个国家的交通系统非常特殊。对于每个城市 $i$($1 \le i \le n$),有如下规则: - 如果 $2i \le n$,则城市 $i$ 和城市 $2i$ 之间有一条道路; - 如果 $2i+1 \le n$,则城市 $i$ 和城市 $2i+1$ 之间有一条道路。 在制定旅行计划时,Daniel 会为每个城市选择一个 $1$ 到 $m$ 之间的整数值,对于第 $i$ 个城市我们记为 $a_i$。 设 $s_{i,j}$ 表示从城市 $i$ 到城市 $j$ 的简单路径 $^\dagger$ 上所有城市的最大值。一次旅行计划的得分为 $\sum_{i=1}^n\sum_{j=i}^n s_{i,j}$。 Tom 想知道所有可能的旅行计划的得分之和。Daniel 请你帮忙计算。你只需要输出答案对 $998\,244\,353$ 取模的结果即可。 $^\dagger$ 从城市 $x$ 到城市 $y$ 的简单路径是指一条连接它们且每个城市最多经过一次的路径。

输入格式

输入的第一行包含一个整数 $t$($1\le t\le 200$),表示测试用例的数量。接下来是每个测试用例的描述。 每个测试用例仅一行,包含两个整数 $n$ 和 $m$($1\leq n\leq 10^{18}$,$1\leq m\leq 10^5$),分别表示城市数量和每个城市的最大值。 保证所有测试用例中 $m$ 的总和不超过 $10^5$。

输出格式

对于每个测试用例,输出一个整数,表示所有可能旅行计划的得分之和,对 $998\,244\,353$ 取模。

说明/提示

在第一个测试用例中,只有一种旅行计划: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1868C/174bc55d5276e07ded8544a87fba16b280750561.png) 路径 $1\rightarrow 1$:$s_{1,1}=a_1=1$。 路径 $1\rightarrow 2$:$s_{1,2}=\max(1,1)=1$。 路径 $1\rightarrow 3$:$s_{1,3}=\max(1,1)=1$。 路径 $2\rightarrow 2$:$s_{2,2}=a_2=1$。 路径 $2\rightarrow 1\rightarrow 3$:$s_{2,3}=\max(1,1,1)=1$。 路径 $3\rightarrow 3$:$s_{3,3}=a_3=1$。 得分为 $1+1+1+1+1+1=6$。 在第二个测试用例中,有四种可能的旅行计划: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1868C/2ac3d1ded7f0949fbcfb24c8db30783d05e5ecda.png) 计划 $1$ 的得分:$1+1+1=3$。 计划 $2$ 的得分:$1+2+2=5$。 计划 $3$ 的得分:$2+2+1=5$。 计划 $4$ 的得分:$2+2+2=6$。 因此,得分之和为 $3+5+5+6=19$。 由 ChatGPT 4.1 翻译