社区讨论
还有谁不知道特判更快更好想啊?
P1483序列变换参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lx2krxdw
- 此快照首次捕获于
- 2024/06/06 09:24 2 年前
- 此快照最后确认于
- 2024/06/06 10:08 2 年前
CPP
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned ll
#define R register
#define Rint R int
#define inf 0x3f3f3f3f
#define mst(a,b) memset(a,b,sizeof a)
#define mp make_pair
#define lson (p>>1)
#define rson (p>>1|1)
#define mid (l[p]+r[p]>>1)
template<class T>inline void read(T &x){x=0;char c=getchar();bool f=0;for(;!isdigit(c);c=getchar())if(c=='-')f=1;for(;isdigit(c);c=getchar())x=(x<<3)+(x<<1)+c-'0';x=f?(~(x-1)):x;}
template<class T>inline void write(T x){if(x<0)return putchar('-'),write(-x),void();if(x>=10)write(x/10);putchar(x%10+'0');return;}
template<class T>inline void put(T x){write(x);putchar(' ');}
template<class T>inline void print(T x){write(x);putchar('\n');}
template<typename type,typename ...T>inline void read(type &x,T&...y){read(x),read(y...);}
using namespace std;
const int N=1e6+5;
int n,m,a[N];
int b[1005];
signed main(){
read(n,m);
mst(b,0);
for(Rint i=1;i<=n;++i)read(a[i]);
for(Rint i=1;i<=m;++i){
Rint opt,x,y;
read(opt);
if(opt==1){
read(x,y);
if(x<=1000){
b[x]+=y;
}else{
for(Rint i=1;i*x<=n;++i)a[i*x]+=y;
}
}else{
read(x);
int ans=a[x];
for(int i=1;i<=1000&&i<=x;++i){
if(x%i==0)ans+=b[i];
}
print(ans);
}
}
return 0;
}
上面代码可以冲进最优解第一页
回复
共 1 条回复,欢迎继续交流。
正在加载回复...