public int[] productExceptSelf(int[] nums) {
int n = nums.length;
int[] f = new int[n], g = new int[n], ret = new int[n];
f[0] = g[n - 1] = 1;
for (int i = 1; i < n; i++)
f[i] = f[i - 1] * nums[i - 1];
for (int i = n - 2; i >= 0; i--)
g[i] = g[i + 1] * nums[i + 1];
for (int i = 0; i < n; i++)
ret[i] = f[i] * g[i];
return ret;
}
1.2所有路出
所有前缀区间和 能 一路累积算出
三、提交代码
java复制代码
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt(), m = in.nextInt();
int[] array = new int[n + 1];
for(int i = 1;i <= n;i++) array[i] = in.nextInt();
// 所有前缀和累积算出
long[] dp = new long[n + 1];
for(int i = 1;i <= n;i++) dp[i] = dp[i - 1] + array[i];
while(m > 0) {
int l = in.nextInt(), r = in.nextInt();
System.out.println(dp[r] - dp[l - 1]);
m--;
}
}