1 条题解
-
2
#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
- 上传者