描述 有一个叫ZDD的男孩,他喜欢一个女孩,名字叫SZD。他们深深地爱上了对方。但SZD被天坑抓住了。击杀怪物后,终于ZDD来到了天坑的城堡。但那里只有一扇巨大的门。门上有一个问题:给出一个由 N 个元素组成的序列,每个元素都是 1。并且有两个操作。 l 第一个运算:给定两个整数 P (1<=P<=N),V (1<=V<=1000),这意味着第 P 个元素将乘以 V。 l 第二个运算:给定两个整数 L, R (1<=L<=R<=N),这意味着你应该回答 [L, R] 之间的元素乘积。 如果ZDD可以回答所有问题,他就可以进入城堡。你能帮他吗? 请使用C语言程序输出代码: 输入 第一行是整数 T,表示测试用例的数量。 对于每个测试用例,有三个整数 N,M (1<=N<=1000000,1<=M<=1000000),表示元素数和操作数。然后沿着 M 行,每行包含一个操作。 输出 对于每个第二个操作,您应该在一行中输出答案。因为答案会很大,所以请模块1000000007。
时间: 2024-04-17 07:26:34 浏览: 23
当然可以帮助你!以下是使用C语言编写的解答代码:
```c
#includestdio.h>
#define MOD 1000000007
long long int solve(int *arr, int n, int l, int r) {
long long int ans = 1;
for (int i = l-1; i < r; i++) {
ans = (ans * arr[i]) % MOD;
}
return ans;
}
int main() {
int T;
scanf("%d", &T);
while (T--) {
int N, M;
scanf("%d %d", &N, &M);
int arr[N];
for (int i = 0; i < N; i++) {
arr[i] = 1;
}
while (M--) {
int op, p, v, l, r;
scanf("%d", &op);
if (op == 1) {
scanf("%d %d", &p, &v);
arr[p-1] = (arr[p-1] * v) % MOD;
} else if (op == 2) {
scanf("%d %d", &l, &r);
long long int ans = solve(arr, N, l, r);
printf("%lld\n", ans);
}
}
}
return 0;
}
```
这段代码首先读取测试用例的数量 T。然后,对于每个测试用例,它读取元素数 N 和操作数 M。接下来,它从输入中读取操作并相应地对序列进行修改或获取答案。最后,它打印出每个第二个操作的答案。
请注意,由于答案可能非常大,我们对每个答案取模 1000000007(即 MOD)。
希望这可以帮助到你!如果有任何问题,请随时问我。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)