C. 徐老师的任务约束

    传统题 2000ms 512MiB

徐老师的任务约束

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

任务约束


题目描述

给定 nn 个任务,每个任务 ii 的价值由数组 aa 给出,任务之间存在如下约束关系:

  • 对于任务 ii (1in)(1\leqq i\leqq n),若存在任务 jj (1j<i)(1 \leqq j < i) 满足:maxk=jiak=k=jiak\max_{k=j}^i a_k = \bigwedge_{k=j}^i a_k,则任务 ii 必须在任务 jj 之后执行

求在满足所有约束条件下完成所有任务(每个任务只需执行一次)的不同方案数,结果对 998244353998244353 取模。

两个方案数不同,当且仅当至少存在某个任务在两个方案中执行顺序不一样。

\bigwedge 的定义:xyx\bigwedge y 表示 xxyy 进行二进制的按位与运算,如 15=11\bigwedge 5=1


输入格式

第一行输入一个整数 nn (1n106)\left (1\leqq n\leqq 10^6\right ),表示任务数。

第二行输入 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n (0ai109)\left (0\leqq a_i\leqq 10^9\right ),表示每个任务的值。


输出格式

输出合法方案数模 998244353998244353 的结果。


输入输出样例 #1

输入 #1

3
1 2 3

输出 #1

6

合法执行任务的方案有:[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1][1,2,3], [1,3,2], [2,1,3], [2,3,1],[3,1,2],[3,2,1],共 66 种方案。

输入输出样例 #2

输入 #2

6
5 5 7 7 7 5

输出 #2

60

输入输出样例 #3

输入 #3

10
1 1 1 2 3 3 4 4 4 4

输出 #3

12600

输入输出样例 #4

输入 #4

20
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

输出 #4

401576539

数据范围与子任务

子任务 分值 数据范围
11 55 相邻位置不同 {i:aiai+1}\{i: a_i\ne a_{i+1}\} 出现次数恰好 =n1=n-1,其余数据范围与题目一样
22~1515 1515 1n81\leqq n\leqq 8,其余数据范围与题目一样
1616~2525 2525 2n50002\leqq n\leqq 5000,相邻位置不同 {i:aiai+1}\{i: a_i\ne a_{i+1}\} 出现次数恰好 =1=1,其余数据范围与题目一样
2626~4040 5555 数据范围与题目一样

【睿爸信奥】入门组算法周赛(20260118)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-1-17 7:00
结束于
2026-1-23 23:00
持续时间
3.5 小时
主持人
参赛人数
20