1 条题解

  • 2
    @ 2023-12-19 19:28:26
    #include<iostream>
    #include<math.h>
    using namespace std;
    const int N = 1e9 + 7, t = 1e5 + 10;
    long long arr[t], brr[t];
    int main()
    {
    	ios::sync_with_stdio(false);
    	cin.tie(0);
    	cout.tie(0);
    	int n, m, q;
    	cin >> n >> m;
    	brr[0] = arr[0] = m;
    	for (int i = 1; i <= n; i++)//前缀和
    	{
    		brr[i] = brr[i - 1] * 4 % N;
    		arr[i] = brr[i] + arr[i - 1];
    		arr[i] %= N;
    	}
    	cin >> q;
    	while (q--)
    	{
    		int r, l;
    		cin >> l>> r;
    		cout << ((arr[r] - arr[l]) + N) % N << '\n';//(arr[r]-arr[l])+N是为了防止arr[r]-arr[l]<0
    	}
    }
    
    • 1

    信息

    ID
    967
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    705
    已通过
    87
    上传者