CF1726G.A Certain Magical Party

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

题意翻译

聚会上有 nn 个人,第 ii 个人有一个开心指数 aia_i 。

每个人都有一种确定的个性,这种个性可以用一个二进制整数 bb 来表示。如果 b=0b=0 ,那么意味着如果他将一个故事讲给一个开心指数比他低的人,他的开心指数就会增加。如果 b=1b=1 ,那么意味着如果他将一个故事讲给一个开心指数比他高的人,他的开心指数就会增加。

让我们定义讲故事的顺序为从左到右。接下来发生以下过程:从左至右的每个人给除他以外的所有人听。请注意,当这发生时,所有的快乐指数保持不变。当这个人讲完以后,他会根据他的个性计算目前开心指数比他少/多的人数,他的开心指数会加上这个量。请注意,只有当前的人的快乐指数增加。

作为聚会的组织者,你不希望任何人伤心地离开。因此,你需要计算可以使得全部 nn 人在这个过程的最后开心指数都相同的发言顺序的数量。如果两个发言顺序中至少有一个人的位置不同,则这两个发言顺序是不同的。

输入格式

第一行为一个正整数 n(1≤n≤2×105)n (1 \leq n \leq 2\times10^5) ,代表了人数。

第二行为 nn 个正整数 a1,a2,...,an(1≤ai≤2n)a_1 , a_2 ,...,a_n(1\leq a_i\leq 2n) ,代表了每个人的开心指数。

第三行为 nn 个二进制整数 b1,b2,...,bn(bi∈{0,1})b_1 , b_2 ,...,b_n(b_i \in \{0,1\}) ,代表了每个人的个性。

输出格式

输出不同发言顺序的总个数由于这个数字可能很大,所以请将它模 998244353998244353 输出。

输入输出样例

  • 输入#1

    4
    1 2 4 4
    1 1 0 0

    输出#1

    2
  • 输入#2

    4
    3 4 3 1
    0 1 0 0

    输出#2

    0
  • 输入#3

    21
    1 2 19 19 19 19 19 19 19 19 19 21 21 21 21 21 21 21 21 21 21
    1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

    输出#3

    49439766

输入解题思路,AI测评打分。不知道怎么写?

首页