A4548 | Distinct
来源官方 / 2024
时间限制2s
内存限制256MB
通过 / 提交0/0
题目描述
青蛙 Elbisivid 跟他的主人 Ytiroirp 玩游戏。
Ytiroirp 给他一个数,Elbisivid 必须告诉主人有多少比这个数更小的正整数。
很快 Elbisivid 就发现不好玩,因为只有一个数。
Ytiroirp 决定给他 $n$ 个数,Elbisivid 必须告诉主人有多少比这 $n$ 个数分别更小的正整数序列。
很快 Elbisivid 就学会了乘法原理,这也太简单了。
Ytiroirp 决定增加一个条件:新的正整数序列每个数必须两两不同。
Elbisivid 很快就发现这不能乘法原理计算,于是另辟蹊径,但是经过 1s 它就又能立刻打败 Ytiroirp 了。但是它觉得你不会,于是需要测试一下你。
考虑到经过上一题的测试,你的智商不比 Elbisivid 高,你只需要输出对 $998244353$ 取模的结果。
忘说了, Elbisivid 怕你蒙出答案,所以你要玩这个游戏 $T$ 次。
---
求出有多少数组 $(x_1,x_2,\cdots,x_n)$ 满足以下条件:
- $x_i\le a_i(1\le i \le n)$
- $x_i$ 互不相同
答案对 $998244353$ 取模。
多组询问
Ytiroirp 给他一个数,Elbisivid 必须告诉主人有多少比这个数更小的正整数。
很快 Elbisivid 就发现不好玩,因为只有一个数。
Ytiroirp 决定给他 $n$ 个数,Elbisivid 必须告诉主人有多少比这 $n$ 个数分别更小的正整数序列。
很快 Elbisivid 就学会了乘法原理,这也太简单了。
Ytiroirp 决定增加一个条件:新的正整数序列每个数必须两两不同。
Elbisivid 很快就发现这不能乘法原理计算,于是另辟蹊径,但是经过 1s 它就又能立刻打败 Ytiroirp 了。但是它觉得你不会,于是需要测试一下你。
考虑到经过上一题的测试,你的智商不比 Elbisivid 高,你只需要输出对 $998244353$ 取模的结果。
忘说了, Elbisivid 怕你蒙出答案,所以你要玩这个游戏 $T$ 次。
---
求出有多少数组 $(x_1,x_2,\cdots,x_n)$ 满足以下条件:
- $x_i\le a_i(1\le i \le n)$
- $x_i$ 互不相同
答案对 $998244353$ 取模。
多组询问
输入格式
第一行,一个整数 $T$,表示多测数据组数。
接下来有 $T$ 组数据,每组数据格式如下:
第一行,一个整数,表示 $n$。
第二行,$n$ 个整数,表示 $a_i$。
接下来有 $T$ 组数据,每组数据格式如下:
第一行,一个整数,表示 $n$。
第二行,$n$ 个整数,表示 $a_i$。
输出格式
对于每组数据,输出一个整数,表示答案对 $998244353$ 取模的值。多组数据之间用换行分割。
输入输出样例
输入 #1
2 3 3 3 3 4 4 4 4 4
输出 #1
6 24
输入 #2
4 5 2 4 5 5 1 4 5 4 4 4 4 3 4 5 2 4 1 2 5 3
输出 #2
4 48 16 2
输入 #3
4 2 564299070 560809780 2 37505774 528337956 2 831208058 256558866 2 922579627 470300576
输出 #3
730505231 536543548 368866253 443672998
约束和限制
对于 $100\%$ 的数据,$n\le 2\times10^5,a_i\le 10^9,T\le 5$。
对于 $20\%$ 的数据,$n,a_i\le 5$;
对于另外 $5\%$ 的数据,$n=1$;
对于另外 $15\%$ 的数据,$n=2$;
对于另外 $15\%$ 的数据,$a_i$ 只有两种取值。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?