AT_arc114_b.[ARC114B] Special Subsets
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
设 S 为由 1 到 N 的所有整数构成的集合。
f 是一个从 S 到 S 的函数,f(1), f(2), ⋯, f(N) 的值分别为 f1, f2, ⋯, fN。
请计算满足以下两个条件的 S 的非空子集 T 的个数,并将结果对 998244353 取模:
- 对于所有 a∈T,都有 f(a)∈T。
- 对于所有 a,b∈T,若 a=b,则 f(a)=f(b)。
输入格式
输入以如下格式从标准输入给出:
N f1 f2 … fN
输出格式
输出满足条件的 S 的非空子集的个数,对 998244353 取模后的结果。
输入输出样例
输入#1
2 2 1
输出#1
1
输入#2
2 1 1
输出#2
1
输入#3
3 1 2 3
输出#3
7
说明/提示
限制条件
- 1≤N≤2×105
- 1≤fi≤N
- 输入均为整数
样例解释 1
f(1)=2, f(2)=1。由于 f(1)=f(2),第二个条件总是满足,但根据第一个条件,1 和 2 必须同时包含在 T 中。
样例解释 2
f(1)=f(2)=1。由于第一个条件,1 必须属于 T,而根据第二个条件,2 不能属于 T。
样例解释 3
f(1)=1, f(2)=2, f(3)=3。第一个和第二个条件始终满足,因此 S 的所有非空子集都满足条件。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?