1.题目: 【模板】前缀和_牛客题霸_牛客网
2.解析:这里可以看成一个缩小版动态规划
代码:
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(),q = in.nextInt(); int[] arr = new int[n+1];//下标从1开始,要读到第n个数据, //1.读入数组数据 for(int i = 1; i <= n; i++) arr[i] = in.nextInt(); /** 1.预处理一个dp前缀和数组 2.使用前缀和数组 */ long[] dp = new long[n+1]; for(int i = 1; i <= n; i++) dp[i] = dp[i-1]+arr[i]; while(q != 0){ int l = in.nextInt(),r = in.nextInt(); System.out.println(dp[r] - dp[l-1]); q--; } } }