[R48G]子集求和
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
时空限制
1.5S/512M
题目描述
对于 的任意一个子集 ,定义 为: 中所有满足“在 中出现次数为奇数”的元素之和。
例如:,其中 出现了 次, 出现了 次, 出现了 次。则 。
给定一个长度为 的数组 。对于数组的任意一个子区间构成的可重集合 ,我们定义函数 为 所有子集 的 的平方之和对 取模的结果:
$$G(S) = \big( \sum_{S_i \subseteq S} (f(S_i))^2 \big) \bmod{10^9+7} $$现在有 次询问,每次给定一个区间 ,请你求出该区间构成的可重集合 的 值。
格式
输入格式
第一行包含两个整数 ,分别表示数组长度和询问次数。
第二行包含 个整数,表示数组 的元素。
接下来 行,每行包含两个整数 ,表示询问的区间。
输出格式
对于每个询问,输出一个整数表示 。
样例
样例输入 #1
3 2
2 2 3
1 2
1 3
样例输出 #1
8
76
样例解释 #1
- 对于询问 ,。子集有 。 值分别为 。平方和 。
数据规模
对于 的数据,,。
对于 的数据,,,。
代码源挑战赛 Round 48
- Status
- Done
- Rule
- DMY
- Start at
- 2026-1-30 20:00
- End at
- 2026-1-30 21:30
- Duration
- 1.5 hour(s)
- Host
- Partic.
- 333