A
来源:互联网 发布:别克车钥匙淘宝图片 编辑:程序博客网 时间:2024/05/16 06:38
题意:略
思路:
错误代码:
#include <iostream>
#include <iomanip>#include <cstring>
#include <cstdio>
#include <map>
using namespace std;
int shu[10001];
int main()
{
int n,m,l,r,mo,sum=0;
int t;
//char c; //输入问题,用字符串然后取第一个
string c;
scanf("%d %d",&n,&m);
for(int i=0;i<n;i++)
scanf("%d",&shu[i]);
scanf("%d",&t);
for(int i=0;i<t;i++)
{
//scanf("%c",&c);
cin>>c;
if(c[0]=='s')
{
// scanf("%d%c%d%c%d",&l,&c,&r,&c,&mo);
cin>>l>>r>>mo;
for(int p=l-1;p<r;p++)
{
if(shu[p]%m==mo)
sum+=shu[p];
}
cout<<sum<<endl;
}
else if(c[0]=='+')
{
//scanf("%d%c%d",&l,&c,&r);
cin>>l>>r;
cout<<shu[l-1]+r<<endl;;
}
else if(c[0]=='-')
{
//scanf("%d%c%d",&l,&c,&r);
cin>>l>>r;
if(shu[l-1]-r<0)
cout<<shu[l-1]<<endl;
else
cout<<shu[l-1]-r<<endl;
}
}
return 0;
}
AC 代码(应用树状数组):
#include <iostream>
#include <iomanip>
#include <cstring>
#include <cstdio>
#include <map>
using namespace std;
int n,m;
const int maxx=100005;
long long ar[maxx];
long long bit[maxx*2][15];
int lowbit(int x)
{
return x&(-x);
}
void add(long long x,long long d,long long mod)
{
while(x<=n)
{
bit[x][mod]+=d;
x+=lowbit(x);
}
}
long long sum(int x,long long mod)//求取余后序号等于所给数字的数字的和
{
long long tmp=0;
while(x>0)
{
tmp+=bit[x][mod];
x-=lowbit(x);
}
return tmp;
}
int main()
{
int l,r,mod,t;
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%lld",&ar[i]);
add(i,ar[i],ar[i]%m);
}
scanf("%d",&t);
while(t--)
{
getchar();
char f;
scanf("%c",&f);
if(f=='+')
{
cin>>l>>r;
add(l,-ar[l],ar[l]%m);//该函数作用是替换,所以如果直接add(l,r,ar[l]%m);那就是直接把原来的数改成r而不是加上r了!!!!!!!
ar[l]+=r;
add(l,ar[l],ar[l]%m);
cout<<ar[l]<<endl;
}
else if(f=='-')
{
cin>>l>>r;
add(l,-ar[l],ar[l]%m);
if(ar[l]-r>=0)
ar[l]-=r;
add(l,ar[l],ar[l]%m);
cout<<ar[l]<<endl;
}
else if(f=='s')
{
cin>>l>>r>>mod;
cout<<sum(r,mod)-sum(l-1,mod)<<endl;
}
}
}
- a
- a
- a
- a
- a
- a
- a
- a
- a
- a
- a
- a
- a
- A
- A*
- a
- A
- a
- 老司机和你深聊 Kubenertes 资源分配之 Request 和 Limit 解析
- 8.23打架学习一个
- Found
- MySQL入门很简单笔记-数据库基础
- npm的镜像替换成淘宝
- A
- Android数据存储(二)---Sqlite数据库(下)
- 特征选择
- asp.net mvc ef 性能监控调试工具 MiniProfiler
- Spring Boot 自定义属性 以及 乱码问题
- shell 脚本
- Solr 和 ElasticSearch 对比
- Hadoop入门之集群搭建
- python from collections import namedtuple