【USTCPC2026】E. Evil Counting Problem
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
样例输入 #1
2
5 -3 3
1 -1 -1 1 -1
1 4
2 5
3 3
3 6 1
1 -1 -1
1 3
样例输出 #1
8
12
0
0
提示
对于第一组样例的第一次询问,必须将前四个元素排列为 或 ,共有 种排列方式满足要求。
USTCPC2026
- Status
- Done
- Rule
- ACM/ICPC
- Problem
- 14
- Start at
- 2026-3-29 12:00
- End at
- 2026-3-29 17:00
- Duration
- 5 hour(s)
- Host
- Partic.
- 131