模拟七
T1 中位数
时间限制:1000ms
空间限制:1024MiB
题目背景
受 noi2026 启发,你打算把一个长度不超过为 \(10^{6}\) 的排列划分成若干个子序列。
题目描述
给定正整数 \(n,m\)。你需要把 \(1,2,3,\dots,n\times m\) 划分成 \(n\) 个互不相交的无序集合,每个集合恰有 \(m\) 个元素。求出每个集合中 \(m\) 个数的中位数,你需要最大化这 \(n\) 个中位数的中位数,并求出最大化答案的分组方案数,对 \(998\,244\,353\) 取模。
\(n\) 个数的中位数的定义:从大到小排序后第 \(\lceil\frac{n}{2}\rceil\) 大的数为中位数。
你需要解决 \(T\) 组测试数据。
输入格式
第一行一个非负整数 \(T\),表示测试数据组数。
对于每一组测试数据,一行两个正整数 \(n,m\)。
输出格式
对于每一组测试数据,一行两个非负整数,分别表示中位数的最大值以及取到最大值的方案数对 \(998\,244\,353\) 取模的值。
输入样例
5
2 2
3 3
100 151
5001 22
250000 4
输出样例
4 3
6 60
11301 22233519
82512 292000586
750001 292663890
说明/提示
当 \(n=m=2\) 时,总共有 \(3\) 种划分方式:\(\{1,2\}\{3,4\}\),\(\{1,3\}\{2,4\}\),\(\{1,4\}\{2,3\}\)。由于两个数的中位数是其中较大的一个,无论怎么分组最后的答案都是 \(4\)。
当 \(n=m=3\) 时,划分成 \(\{2,3,4\},\{1,6,9\},\{5,7,8\}\) 是一种最大化中位数的方案。其中三个集合的中位数分别为 \(3,6,7\),这三个数的中位数为 \(6\)。
数据范围
对于所有数据:
- \(1\le T\le 10^5\)。
- \(1\le n,m\le 10^6\)。
- \(n\times m\le 10^6\)。
记 \(\sum nm\) 为所有测试数据中 \(n\times m\) 的和,\(\sum(n+m)\) 为所有测试数据中 \(n+m\) 的和。
| 测试点编号 | \(n\le\) | \(m\le\) | 特殊性质 |
|---|---|---|---|
| \(1\) | \(4\) | \(4\) | \(T\le 16\) |
| \(2\) | \(50\) | \(50\) | \(T\le 2500\) |
| \(3\) | \(10^6\) | \(10^6\) | \(\min(n,m)\le 1\) |
| \(4\) | \(2\) | \(10^6\) | 无 |
| \(5\) | \(10^6\) | \(2\) | 无 |
| \(6\) | \(1000\) | \(1000\) | \(\sum nm\le 4\times 10^6\) |
| \(7,8\) | \(10^6\) | \(10^6\) | \(\sum(n+m)\le 4\times 10^6\) |
| \(9,10\) | \(10^6\) | \(10^6\) | 无 |
T2 三色园
时间限制:1000ms
空间限制:1024MiB
题目描述
对于值域为 \([1,3]\) 的正整数序列 \(a\),定义其合法当且仅当 \(1,2,3\) 的出现次数两两不同(没出现的也算)。例如 \([1,2,3,3]\) 不合法,\([1,2,2,3,3,3]\) 合法,\([1]\) 不合法。
给定长度为 \(n\) 的值域 \([1,3]\) 的序列 \(a\)。共 \(q\) 次询问 \(l,r\),你需要求出 \([l,r]\) 的最长合法子区间的长度。即找到 \(l\le x\le y\le r\) 且 \([a_x,a_{x+1},\dots,a_y]\) 合法,并最大化 \(y-x+1\) 的值。若不存在符合条件的 \(x,y\) 则答案为 \(0\)。
输入格式
第一行三个非负整数 \(c,n,q\)。\(c\) 表示测试点编号,样例中 \(c=0\)。
第二行 \(n\) 个正整数 \(a_i\)。
后 \(q\) 行每行两个正整数 \(l,r\)。
输出格式
对于每一次询问,输出一行一个非负整数表示合法子区间最大长度。若不存在则输出 \(0\)。
输入样例
0 9 5
1 2 3 1 2 3 1 1 2
1 9
2 9
1 8
2 6
5 9
输出样例
9
6
6
0
3
说明/提示
第一次询问中最长合法子区间为 \([1,9]\),三个数的出现次数为 \(4,3,2\)。
第二、三次询问中的最长合法子区间均为 \([3,8]\),三个数的出现次数为 \(3,1,2\)。
第四次询问中不存在合法子区间。
第五次询问中的最长合法子区间为 \([6,8]\),三个数的出现次数为 \(2,0,1\)。
下发文件中其它样例满足测试点 \(1,14,15,17\) 的性质。
数据范围
对于所有测试点:
- \(1\le n\le 10^6\)。
- \(1\le q\le 2\times 10^5\)。
- \(1\le a_i\le 3\)。
| 测试点编号 | \(n\le\) | \(q\le\) | 特殊性质 |
|---|---|---|---|
| \(1,2\) | \(50\) | \(5000\) | 无 |
| \(3\sim 5\) | \(2000\) | \(2\times 10^5\) | 无 |
| \(6\sim 9\) | \(10^5\) | \(5\) | 无 |
| \(10\sim 13\) | \(2\times 10^5\) | \(100\) | 无 |
| \(14\) | \(10^6\) | \(2\times 10^5\) | \(A\) |
| \(15,16\) | \(10^6\) | \(2\times 10^5\) | \(B\) |
| \(17\sim 20\) | \(10^6\) | \(2\times 10^5\) | 无 |
特殊性质 \(A\):\(s\) 的每一位均匀独立随机生成。
特殊性质 \(B\):询问的 \(r=n\)。
T3 嵌套函数
时间限制:3000ms
空间限制:1024MiB
题目描述
给定 \(n\) 个函数:\(f_i(x)=\min(x+a_i,b_i)\)。
定义 \(g(l,r,x)\) 表示 \(x\) 依次放到第 \(l\) 到 \(r\) 个函数里得到的值。具体地,若 \(l>r\) 则 \(g(l,r,x)=x\),否则 \(g(l,r,x)=g(l+1,r,f_l(x))\)。
你需要支持如下三种操作:
1 x y:将 \(a_x\) 修改为 \(y\)。2 x y:将 \(b_x\) 修改为 \(y\)。3 l r x:你需要求出 \(\max_{l\le p\le r+1}g(p,r,x)\)。注意 \(p\) 可能取值为 \(r+1\),此时 \(g(p,r,x)=x\)。
输入格式
第一行三个非负整数 \(c,n,q\)。其中 \(c\) 为测试点编号,样例中 \(c=0\)。\(q\) 表示操作次数。
第二行 \(n\) 个非负整数 \(a_i\)。
第三行 \(n\) 个非负整数 \(b_i\)。
后 \(q\) 行每行 \(3\sim 4\) 个非负整数表示操作。
输出格式
对于每个 \(3\) 操作,输出一行一个整数表示答案。
输入样例
0 5 8
2 1 3 1 4
1 3 5 7 9
3 2 4 6
3 1 5 3
3 4 5 3
3 5 5 10
2 3 9
1 5 2
3 1 5 2
3 1 5 1
输出样例
7
9
8
10
9
8
说明/提示
未作修改时:
- \(g(2,4,6)=6,g(3,4,6)=6,g(4,4,6)=7,g(5,4,6)=6\),所以第一次询问答案为 \(7\)。
- \(g(1,5,3)=9,g(2,5,3)=9,g(3,5,3)=9,g(4,5,3)=8,g(5,5,3)=7,g(6,5,3)=3\),所以第二次询问答案为 \(9\),第三次询问答案为 \(8\)。
- \(g(5,5,10)=9,g(6,5,10)=10\),所以第四次询问答案为 \(10\)。
附加文件中其它样例满足测试点 \(1,5,18\) 的性质。
数据范围
对于全部测试数据均满足:
- \(1\le n,q\le 5\times 10^5\)。
- 对于修改前和修改后的 \(a_i\) 都有 \(0\le a_i\le 10^9\)。
- 对于修改前和修改后的 \(b_i\) 都有 \(0\le b_i\le 10^{15}\)。
- 询问满足 \(1\le l\le r\le n\),\(0\le x\le 10^{15}\)。
- 至少有一次询问操作。
| 测试点编号 | \(n,q\le\) | 特殊性质 |
|---|---|---|
| \(1\) | \(100\) | |
| \(2\sim 4\) | \(5000\) | |
| \(5\) | \(2\times 10^5\) | \(AB\) |
| \(6\sim 8\) | \(2\times 10^5\) | \(A\) |
| \(9\sim 11\) | \(2\times 10^5\) | \(B\) |
| \(12,13\) | \(2\times 10^5\) | \(C\) |
| \(14,15\) | \(2\times 10^5\) | \(D\) |
| \(16,17\) | \(2\times 10^5\) | |
| \(18\sim 20\) | \(5\times 10^5\) |
特殊性质 \(A\):只有询问操作。
特殊性质 \(B\):所有询问中 \(r=n\)。
特殊性质 \(C\):任何时刻所有 \(b_i\) 全部相等。
特殊性质 \(D\):任何时刻满足 \(b_i+a_{i+1}\le b_{i+1}\)。
T4 不是深搜
时间限制:6000ms
空间限制:1024MiB
题目背景
给定一个连通图。对于它的一个生成树和一个给定的根,它是 dfs 树当且仅当不存在横叉边(只有返祖边)。
题目描述
给定一个连通图。对于它的一个生成树和一个给定的根,定义它是 ndfs 树当且仅当不存在返祖边(只有横叉边)。即对于图的每条边 \(e=(x,y)\),要么 \(e\) 是树边,要么 \(x,y\) 不是祖先后代关系。对于一棵生成树,定义它合法当且仅当存在一个根让它是 ndfs 树。
给定一个无向连通图,求它的所有边子图的合法生成树个数和。注意只有连通图才有合法生成树。答案对 \(998\,244\,353\) 取模。
输入格式
第一行两个正整数 \(n,m\),表示图的点数和边数。
后 \(m\) 行每行两个正整数 \(x,y\) 表示图的一条边。
输出格式
一行一个非负整数表示答案对 \(998\,244\,353\) 取模的值。
输入样例
4 4
1 2
2 3
1 3
1 4
输出样例
6
说明/提示
连通边子图共有四个,其中一个是原图,\(3\) 个生成树都合法;其余三个是树,本身合法。所以答案是 \(3+1+1+1=6\)。
附加文件中其它样例满足测试点 \(3,11,17,18\) 的性质。
数据范围
对于所有测试点:
- \(3\le n\le 18\)。
- \(n-1\le m\le \frac{n(n-1)}{2}\)。
- 输入的图是简单无向连通图。
| 测试点编号 | \(n\le\) | 特殊性质 |
|---|---|---|
| \(1,2\) | \(5\) | 无 |
| \(3,4\) | \(6\) | 无 |
| \(5\) | \(8\) | 每个点的度数不超过 \(3\) |
| \(6,7\) | \(10\) | \(m\le 20\),图在连通的情况下均匀随机生成 |
| \(8,9\) | \(12\) | 无 |
| \(10\) | \(15\) | 无 |
| \(11\sim 13\) | \(16\) | 无 |
| \(14,15\) | \(17\) | 无 |
| \(16\) | \(18\) | 每条边最多在一个环里 |
| \(17\) | \(18\) | \(m=\frac{n(n-1)}{2}\) |
| \(18\sim 20\) | \(18\) | 无 |

浙公网安备 33010602011771号