比赛场次 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 简单对比
用户 结果 时间 内存 得分
Gravatarppfish AAAAAAAAAA 0.023 s 1.17 MiB 100
Gravatardashgua AAAAAAAAAA 0.025 s 1.17 MiB 100
Gravatarlyxin65 AAAAAAAAAA 0.040 s 1.46 MiB 100
Gravatar农场主 AAAAAAAAAA 0.040 s 1.54 MiB 100
GravatarKZNS AAAAAAAAAA 0.043 s 0.57 MiB 100
Gravatarmikumikumi AAAAAAAAAA 0.043 s 1.15 MiB 100
Gravatar四季木哥 AAAAAAAAAA 0.134 s 27.02 MiB 100
Gravatar小明 AAAWAAWWWW 0.049 s 0.50 MiB 50
GravatarBuCiYuAn AAAWWEEEEE 0.420 s 1.08 MiB 30
Gravatarwmez AWWWWWWWWW 0.034 s 0.67 MiB 10
GravatarNVIDIA RRRRRRRRRR 0.000 s 1.46 MiB 0

沼跃鱼数列变换

★★☆   输入文件:Marshtomp.in   输出文件:Marshtomp.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目描述】

定义一个数列的积为这个数列所有元素的积,定义沼跃鱼数列变换为一个数列在某种限制下的所有非空子集的积的和。(一个数列的子集和也是可重的)

注意:这里一个数列的子集是一个集合,两个集合不相等当且仅当集合元素不相等和集合元素的原本在数列中的下标不相等

举例:数列(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

【来源】