信息
- ID
- 1559
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者
把每个 i 向 fi 连一条有向边,得到每点出度恰为 1 的函数图。
条件一要求选中点的后继仍被选中,条件二要求 f 在所选集合上为单射;有限集合上的单射也是满射,因此每个被选点还恰有一个被选前驱。于是合法集合不能包含朝环汇入的树枝,只能对每个有向环选择“整环加入”或“整环不加入”。若环数为 c,答案就是 2c−1。
函数图的每个弱连通分量恰好含一个有向环。将每条 i→fi 忽略方向并用并查集合并后,根节点数量就是 c。最后快速计算 2c−1(mod998244353)。
时间复杂度为 O(Nα(N)),空间复杂度为 O(N)。