CF1726G.A Certain Magical Party
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
题意翻译
聚会上有 n 个人,第 i 个人有一个开心指数 ai 。
每个人都有一种确定的个性,这种个性可以用一个二进制整数 b 来表示。如果 b=0 ,那么意味着如果他将一个故事讲给一个开心指数比他低的人,他的开心指数就会增加。如果 b=1 ,那么意味着如果他将一个故事讲给一个开心指数比他高的人,他的开心指数就会增加。
让我们定义讲故事的顺序为从左到右。接下来发生以下过程:从左至右的每个人给除他以外的所有人听。请注意,当这发生时,所有的快乐指数保持不变。当这个人讲完以后,他会根据他的个性计算目前开心指数比他少/多的人数,他的开心指数会加上这个量。请注意,只有当前的人的快乐指数增加。
作为聚会的组织者,你不希望任何人伤心地离开。因此,你需要计算可以使得全部 n 人在这个过程的最后开心指数都相同的发言顺序的数量。如果两个发言顺序中至少有一个人的位置不同,则这两个发言顺序是不同的。
输入格式
第一行为一个正整数 n(1≤n≤2×105) ,代表了人数。
第二行为 n 个正整数 a1,a2,...,an(1≤ai≤2n) ,代表了每个人的开心指数。
第三行为 n 个二进制整数 b1,b2,...,bn(bi∈{0,1}) ,代表了每个人的个性。
输出格式
输出不同发言顺序的总个数由于这个数字可能很大,所以请将它模 998244353 输出。
输入输出样例
输入#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测评打分。不知道怎么写?