logo AlgoBeat OnlineJudge
登录 注册

#214175. bloom

内存限制:512 MiB 时间限制:3000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述


给定 ,和两个长为 的序列 一些位置确定,一些不确定,每个位置有类型 。你要给不确定的 赋值,使得 。求对于所有 的赋值方式的以下游戏的权值和对 取模的结果。

  • 游戏将进行 轮,第 轮开始时第 个人的血量 设置为 ,类型为 的二进制表示下第 位的值。 的取值从 开始。

  • 每轮开始时,所有类型 的人开始同时往右走,类型 的人不动,每过 单位时间移动一格。

  • 若一个类型 碰到类型 的点,设两人的编号为 同时执行 的人将会消失。

  • 这一轮的权值为过了 单位时间后所有存在的人的初始 的乘积。(若最后所有人死亡,则权值为

  • 游戏的权值为 轮的权值之和。

输入格式

第一行两个正整数

第二行 个非负整数 ,其中 表示未确定的位置。

第三行 个正整数 表示每个人的初始权值。

输出格式

一行一个整数,表示所有情况的游戏权值之和。

样例

样例输入 1

2 3
1 2
2 2

样例输出 1

14

样例输入 2

4 4
1 1 0 0
2 2 3 3

样例输出 2

239

样例输入 3

6 10
0 1 1 0 0 2
743619643 294476845 718152187 194051637 59774782 188785641

样例输出 3

285625840

数据范围与提示

【样例解释 1】

游戏将进行 轮:

  • 轮时,两个人的类型分别为 ,都能活到最后,权值为

  • 轮时,两个人的类型分别为 ,此时在经过 单位时间后两人相撞,生命值变为 ,只有第二个人活下来,权值为

  • 轮时,两个人的类型分别为 ,都能活到最后,权值为

  • 轮时,两个人的类型分别为 ,都能活到最后,权值为

所以总权值为

【数据范围】

本题使用子任务捆绑

对于所有测试数据,,保证至少存在一组合法的

子任务编号 特殊性质 分值

特殊性质:保证