模拟七

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\) 无
posted @ 2026-09-21 10:53  ShanLiing  阅读(8)  评论(0)    收藏  举报
//雪花飘落效果