#CF2171G. Sakura Adachi and Optimal Sequences
Sakura Adachi and Optimal Sequences
题目描述
“真令人头疼……”
—— Hougetsu Shimamura
Adachi 正在为一道世代传承的难题抓耳挠腮……呃,对,就是这道题!反正,请你帮她解决吧!
你有两个长度为 的数组 和 ,满足 。
每次操作,你可以:
- 选择一个下标 (),令 ,或者
- 使 的所有元素都乘以 。
记 为将 变为 所需的最少操作次数。长度为 的两个数组 和 ,当且仅当对于所有 都有 时,认为 。
求 的值。此外,计算用恰好 次操作将 变为 的不同操作序列数量。若对于任意 ,两条操作序列第 步所选的操作类型或下标不同,则认为这两条操作序列不同。
由于方案数可能很大,请将答案对 取模输出。注意 是一个质数。
输入格式
第一行包含一个整数 (),表示测试用例数量。
每个测试用例的第一行包含一个整数 ()。
第二行包含 个整数 ()。
第三行包含 个整数 ()。
保证所有测试用例中 的总和不超过 。
输出格式
对于每个测试用例,输出两个整数 ,以及用恰好 次操作将 变为 的不同操作序列数量,对 取模。 的值应按通常方式输出,不需要取模。
样例
8
6
1 3 6 4 3 2
3 7 10 4 4 8
2
1 1
4 3
5
2 3 2 5 1
18 13 10 30 7
5
5 4 3 6 2
100 125 231 113 107
4
2 2 2 2
2 2 2 2
4
1 1 1 1
2 2 2 2
7
1 1 1 1 1 1 200000
200000 200000 200000 200000 200000 200000 200000
3
542264 174876 441510
641112 325241 995342
17 827116
3 1
12 288
35 567812
0 1
1 1
1199994 0
803045 366998
样例说明
在第二个样例中,只需三步即可将 变为 ,并且只有一种做法,具体为:
- 对 加 ,得到 。然后将所有元素乘 ,得到 。然后对 加 ,得到 。此时 ,达成目标。
可以证明,无法通过少于三次操作将 变为 。
由 ChatGPT 5 翻译
来源
Codeforces 2171G,英文题名 Sakura Adachi and Optimal Sequences。