N个元素的数组从1到N被索引。所有元素都是未知的和整数。给定一些A,B,C形式的查询,其中A是起始索引,B是结束索引,C是A和B之间所有元素的总和。找出数组的所有元素。例如:
N=4 1, 3, 0 2, 4, 4
一个有效的解决方案是:
2, -3, 1, 6
约束:
1<=A<=B<=N, 2<=N<=65000, C<=1000000000
接受满足给定标准的任何解决方案,并假设有足够的查询来查找所有元素。
答案 0 :(得分:2)
解决这个问题的一种方法是将问题视为一系列联立方程。每个求和最多可以给出一个最多n个变量的线性方程,所以如果你能找到一个具有整数值的方程的解,你应该全部设置。
对具有k个不同约束的一系列n个变量使用高斯消元(假设n = O(k))O(k 3 )时间对期望(假设系统条件良好) )。从那里,找到整数解决方案应该很容易;找到任何一个解决方案向量的公分母并乘以它。
希望这有帮助!