找到 x1, x2, ..., xn:
x_1^p_1 + x_2^p_2 + ... + x_(n-1)^p_(n-1) ? x_n^p_n (mod 1e9+7)
输入:
第 1 行:正整数 n > 1
第 2 行:n 个不同的素数 p1, p2, ..., pn (p1 * p2 * ... * pn <= 1e18)
输出:
一组 n 个正整数 (x_1, x_2,..., xn) (1 <= x_i < 1e9+7)
例如,
输入 1:
2
3 5
输出 1:
1 1
(因为 1^3 ? 1^5 (mod 10^9 + 7))
输入 2:
3
2 3 7
输出 2:
8 4 …
给定一个数组 n 个元素 (n <= 10^5) 计算范围的数量 [L; R] (L <= R) 最大值与最小值之差为偶数。
例如,n = 5
a[] = {4, 5, 2, 6, 3}
答案是 11:[1;1], [1;4], [1;5], [2;2], [2;4]、[2;5]、[3;3]、[3;4]、[3;5]、[4;4]、[5;5] 时间限制为 1 秒
如果 n <= 1000,O(n^2) 的 natvie 算法就可以了。我认为我们可以通过使用堆栈或双端队列来改进这种方法。但这太难了。
有什么有效的办法吗?