logo AlgoBeat OnlineJudge
登录 注册

#214797. [RMI 2025] 鼠皇 / King of rats

内存限制:2048 MiB 时间限制:3000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

给定正整数

考虑一个 列的网格图,其中每个格子上填写着 。图上共有

定义两个格子相连,当且仅当它们共享一条公共边。

在所有符合条件的图等概率出现的前提下,求出这张图上所有填写着 的格子的期望连通分量个数,答案对 取模。

实现

你需要实现以下函数:

void prec(int subtask_id)
int solve(int n, int k)

第一个函数会在评测程序开始时被调用一次,你可以用它来做预处理。

第二个函数应当在给定参数 的情况下,返回危险度的期望值,对模数 取模。
形式化地,设 。保证答案可以表示为既约分数 ,其中 是整数且
返回等于 的整数。
换句话说,返回一个整数 ,满足 。保证存在这样的一个数。

第二个函数将会被调用 次。也就是说,输入中包含多组测试数据!

输入格式

见「实现细节」。

输出格式

见「实现细节」。

样例

样例输入 1

2 
6 
2 2
5 10 
2000 3 
2000 5 
100 32
150 278

样例输出 1

332748119
1
518205646
742082393
368118258
937239298

样例输入 2

7 
8 
100000000 0 
100000000 1 
100000000 2 
100000000 3 
5219873 192 
853875838 238 
43782384 1500
58123292 180000

样例输出 2

0
1
268791198
806373591
782159797
435727907
712321002
257644694

数据范围与提示

注意,评测程序会被提供子任务编号、测试数据组数 ,以及每组测试数据对应的 的值。

样例解释

对于第一个样例的第一组测试数据,所有可能的配置如下所示:

一共有 6 种配置,其中有 4 种只有一个连通分量。
因此答案为

约束

# 分值 约束条件
无额外限制