题目名称 4370. 冒泡排序
输入输出 bubble.in/out
难度等级 ★★★☆
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 20
题目来源 GravatarHXF 于2026-04-02加入
开放分组 全部用户
提交状态
分类标签
查看题解 分享题解
通过:1, 提交:4, 通过率:25%
Gravatar终焉折枝 100 3.200 s 34.21 MiB C++
Gravatar终焉折枝 0 1.035 s 34.19 MiB C++
GravatarRpUtl 0 3.036 s 34.23 MiB C++
Gravatarexil 0 5.662 s 3.58 MiB C++
本题关联比赛
2026.4.4
关于 冒泡排序 的近10条评论(全部评论)

4370. 冒泡排序

★★★☆   输入文件:bubble.in   输出文件:bubble.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目背景】

冒泡。

【题目描述】

根据冒泡排序,将一个排列仅通过交换相邻两项使排列有序的操作数等于逆序对数。

直观上来说,将一个排列仅通过交换相邻两项使排列有序的理论操作次数最少是 $\frac{\sum |p_i-i|}{2}$。

求多少个 $0\sim n-1$ 的排列(下标从 $0$ 开始),满足逆序对数等于理论操作次数最小值。

但是这个问题有点简单的,你求的排列数量还需要满足第 $a$ 个位置为 $b$。

求答案对 $666623333$ 取模的结果。提示:$666623333$ 是质数。

【输入格式】

本题每个测试点有多组测试数据。

第一行一个正整数 $T$,表示测试数据组数。

接下来 $T$ 行,对于每组数据,一行三个正整数表示 $n,a,b$。

【输出格式】

$T$ 行,每行一个正整数作为答案。

【样例输入1】

1
3 0 2

【样例输出1】

1

【样例输入2】

1
100 58 70

【样例输出2】

99824695

【数据规模与约定】

对于 $20\%$ 的数据,满足 $n\le 100$。

对于 $40\%$ 的数据,满足 $1\le n\le 1000$。

对于 $60\%$ 的数据,满足 $1\le n\le 10^4$。

对于 $80\%$ 的数据,满足 $1\le n\le 10^5$。

对于 $100\%$ 的数据,满足 $n\le 10^6,0\le a,b\le n-1$。

共二十个测试点,每部分数据 $4$ 个测试点的 $T$ 分别是 $1,100,10^4,10^6$。

【来源】

常3.14