比赛场次 | 273 |
---|---|
比赛名称 | ZLXOI2015Day2 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2015-10-30 18:30:00 |
结束时间 | 2015-10-30 22:00:00 |
开放分组 | 全部用户 |
注释介绍 | 如对题目有疑问请使用COGS的邮箱功能问我 |
题目名称 | 沼跃鱼数列变换 |
---|---|
输入输出 | Marshtomp.in/out |
时间限制 | 1000 ms (1 s) |
内存限制 | 512 MiB |
测试点数 | 10 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
ppfish | AAAAAAAAAA | 0.023 s | 1.17 MiB | 100 |
dashgua | AAAAAAAAAA | 0.025 s | 1.17 MiB | 100 |
lyxin65 | AAAAAAAAAA | 0.040 s | 1.46 MiB | 100 |
农场主 | AAAAAAAAAA | 0.040 s | 1.54 MiB | 100 |
KZNS | AAAAAAAAAA | 0.043 s | 0.57 MiB | 100 |
mikumikumi | AAAAAAAAAA | 0.043 s | 1.15 MiB | 100 |
四季木哥 | AAAAAAAAAA | 0.134 s | 27.02 MiB | 100 |
小明 | AAAWAAWWWW | 0.049 s | 0.50 MiB | 50 |
BuCiYuAn | AAAWWEEEEE | 0.420 s | 1.08 MiB | 30 |
wmez | AWWWWWWWWW | 0.034 s | 0.67 MiB | 10 |
NVIDIA | RRRRRRRRRR | 0.000 s | 1.46 MiB | 0 |
定义一个数列的积为这个数列所有元素的积,定义沼跃鱼数列变换为一个数列在某种限制下的所有非空子集的积的和。(一个数列的子集和也是可重的)
注意:这里一个数列的子集是一个集合,两个集合不相等当且仅当集合元素不相等和集合元素的原本在数列中的下标不相等
举例:数列(1,2,3,3)有两个集合元素子集(1,2,3)却不相等因为一个是(a1,a2,a3),另一个是(a1,a2,a4)
对于某个数列A和限制,求出其沼跃鱼变换数列的值mod 9999997
限制为给出一个不可重集合C,表示A[C[i]]为特殊元素,所有特殊元素两两之间不能出现在同一个子集合中。
简而言之,你不需要考虑数列中的重复元素,即对任意长度为n的数列,其一定有2^n-1个子集合
第一行一个正整数n,表示集合的元素个数
接下来一行n个数,表示A[i]
接下来一个正整数m,表示特殊元素个数
接下来一行m个数,表示C[i]
一个正整数S,表示变换的值
【样例输入1】
3
1 2 3
0
【样例输出1】
23
【样例解释1】
S=1+2+3+1*2+1*3+2*3+1*2*3=23
【样例输入2】
3
2 3 3
2
2 1
【样例输出2】
23
【样例解释2】
A[2]和A[1]为特殊元素,不共存
S=2+3+3+2*3+3*3=23
(A[1],A[2],A[3])和(A[1],A[2])非法第1组数据n<=10,A[i]=1
第2组数据n<=100000,A[i]=1
第3组数据n<=10,A[i]=i
第4组数据n<=100000,A[i]=i
第5组数据n<=10
前五组数据A[i]<=100,m=0
第6-8组数据n<=1000,m<=20
对于100%的数据n<=100000,m<=1000,A[i]<=50000