| 比赛 |
寒假集训4 |
评测结果 |
AATTTTTTTT |
| 题目名称 |
数据结构题 |
最终得分 |
20 |
| 用户昵称 |
梦那边的美好ME |
运行时间 |
21.437 s |
| 代码语言 |
C++ |
内存使用 |
6.50 MiB |
| 提交时间 |
2026-02-28 11:37:41 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll n,m;
ll a[510000];
ll mpow(ll x,ll y,ll mod){
ll ans=1,cnt=x%mod;
while (y){
if (y%2==1) ans=ans*cnt%mod;
cnt=cnt*cnt%mod;
y/=2;
}
return ans;
}
int main() {
freopen("sjjgt.in","r",stdin);
freopen("sjjgt.out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n>>m;
for (int i=1;i<=n;i++){
cin>>a[i];
}
while (m--){
ll op,l,r,x;
cin>>op>>l>>r>>x;
if (op==1){
for (int i=l;i<=r;i++){
a[i]+=x;
}
}else{
ll res=a[r];
for (int i=r-1;i>=l;i--){
res=mpow(a[i],res,x);
}
cout<<res<<endl;
}
}
return 0;
}