Description
有 n 次操作,每次操作会等概率地进行以下事件中的一个:
- 将 ai 加入团队,操作后 ai 为成员。
- 将 ai 踢出团队。
- 将 ai 设置为管理员。
- 将 ai 设置为成员。
注意:
- 开始时没有人在团队里。
- 如果 ai 不在团队中,则 2、3、4 操作无效果。
- 如果 ai 为成员,则 1、4 操作无效果。
- 如果 ai 是管理员,则 1、2、3 操作无效果。
最后输出团队中管理员个数的期望,答案对 998244353 取模。
第一行一个整数 type。
如果 type 为 1,则采用第一种输入方式,否则采用第二种输入方式。
第一种输入方式:
第一行一个正整数 n。
第二行共 n 个整数表示数组 a。
第二种输入方式:
共一行四个整数分别是 n,a0,p,q。
注意:第二种输入方式中,数组 a 需要你计算得出,满足 ai=(ai−1×p+p)modq+1 (i≥1)。
输出一个整数表示团队中管理员个数的期望,对 998244353 取模。
1
6
1 1 2 1 2 1
760381441
2
11 4 5 14
686292993
Hint
本题采用捆绑测试。
| 子任务编号 |
type= |
n |
ai |
分值 |
| 1 |
1 |
n≤100 |
1≤ai≤10 |
25 |
| 2 |
n≤5×105 |
1≤ai≤1018 |
35 |
| 子任务编号 |
type= |
n |
a0,p,q |
分值 |
| 3 |
2 |
n≤106 |
1≤a0,p<q≤20 |
10 |
| 4 |
n≤1018 |
1≤a0,p<q≤3×105 |
30 |
对于所有数据,1≤n≤1018。