88 lines
1.8 KiB
Markdown
88 lines
1.8 KiB
Markdown
# P15569 [COCI 2025/2026 #5] 结构 / Struktura
|
||
|
||
## 题目背景
|
||
|
||
本题满分 $110$。
|
||
|
||
## 题目描述
|
||
|
||
Petar 和 Ivana 在漫长的冬日下午感到无聊,于是发明了一个数字游戏。
|
||
|
||
Petar 在纸上随机写下 $n$ 个数,每个数都**独立地、等概率地**从 $1$ 到 $k$ 之间选择,形成数组 $a$。
|
||
|
||
Ivana 说她特别喜欢某些数组,因为它们有一种“隐藏的平衡”,她称这种数组为**结构(structure)**。当且仅当满足以下条件时,数组 $a$ 是结构:
|
||
|
||
- 整数 $1,2,\dots,n$ 在数组中各出现恰好一次。
|
||
- 对每个下标 $i$($1 \le i \le n$),都有 $|a_i + i - n - 1| \le 1$。
|
||
|
||
Ivana 想知道:Petar 完全随机生成数组 $a$ 时,得到结构的概率是多少。
|
||
|
||
可以证明答案总能表示为分数 $\dfrac{P}{Q}$,其中 $P$ 为整数,$Q$ 为正整数且不被 $10^9+7$ 整除。
|
||
|
||
## 输入格式
|
||
|
||
输入一行两个自然数 $n,k$($1 \le n,k \le 10^9$)。
|
||
|
||
## 输出格式
|
||
|
||
输出一个整数,表示所求概率在模 $10^9+7$ 意义下的值。
|
||
|
||
## 输入输出样例 #1
|
||
|
||
### 输入 #1
|
||
|
||
```
|
||
2 1
|
||
```
|
||
|
||
### 输出 #1
|
||
|
||
```
|
||
0
|
||
```
|
||
|
||
## 输入输出样例 #2
|
||
|
||
### 输入 #2
|
||
|
||
```
|
||
2 2
|
||
```
|
||
|
||
### 输出 #2
|
||
|
||
```
|
||
500000004
|
||
```
|
||
|
||
## 输入输出样例 #3
|
||
|
||
### 输入 #3
|
||
|
||
```
|
||
7 94
|
||
```
|
||
|
||
### 输出 #3
|
||
|
||
```
|
||
100976822
|
||
```
|
||
|
||
## 说明/提示
|
||
|
||
#### 【样例解释】
|
||
|
||
样例 #2 解释:
|
||
|
||
Petar 可能写出的数组共有 $2^2=4$ 个:$(1,1),(1,2),(2,1),(2,2)$。其中结构是 $(1,2)$ 与 $(2,1)$,概率为 $\dfrac{2}{4}$,因此输出 $2 \cdot 4^{-1} \bmod (10^9+7)=500000004$。
|
||
|
||
#### 【子任务】
|
||
|
||
| 子任务 | 分值 | 限制 |
|
||
| :----: | :--: | :--: |
|
||
| $1$ | $17$ | $n,k \le 7$ |
|
||
| $2$ | $23$ | $n \le 7$,$k \le 100$ |
|
||
| $3$ | $19$ | $n \le 20$,$k \le 100$ |
|
||
| $4$ | $25$ | $n,k \le 10^6$ |
|
||
| $5$ | $26$ | 无额外限制 | |