用户:
66666666666665666查看:3 回复:4 评论:3 创建时间:2022-07-11T09:54:03
家人们,事情是这样的,N个月前我在《关于社区接入防沉迷系统的公告》下回了一条C++帖,我好久没上社区了,昨天上发现28条消息,全是有关这条帖子的,有点赞有回复(回复居多),此时我想把我回的帖子翻出来,但是因为太多人回帖找不到了,我发现大家好多回的都是C++帖。。都是大佬,有用cout的,有用for循环的,有用数组的,有用结构体的,注释还写得一清二楚。还有写判断质数合数,算价格,答题的程序。在座各位都是大神。
问:有什么作用?
答:运用了对比的手法,衬托出 那个秀儿 很蒟蒻。
我好佩服这些大佬。原来我很蔡。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d",a+b);
return 0;
}
//对不起,本蒟蒻只会写简单的跟一一样的程序。
我是白白#include <iostream>
using namespace std;
long long n,m,p;
long long a[100005];
struct Tre{
long long left,right;
long long num;
long long delta;
}tree[400005];
void build(long long id,long long l,long long r){
tree[id].left=l;tree[id].right=r;
if(l==r){
tree[id].num=a[l];
tree[id].delta=0;
}
else{
int mid=(l+r)/2;
build(id*2,l,mid);
build(id*2+1,mid+1,r);
tree[id].delta=0;
tree[id].num=(tree[id*2].num+tree[id*2+1].num);
}
}
long long query(long long id,long long l,long long r){
if(tree[id].left>r||tree[id].right<l) return 0;
if(tree[id].left>=l&&tree[id].right<=r) return tree[id].num;
if(tree[id].delta){
tree[id*2].num+=((tree[id*2].right-tree[id*2].left+1)*tree[id].delta);
tree[id*2].delta+=tree[id].delta;
tree[id*2+1].num+=((tree[id*2+1].right-tree[id*2+1].left+1)*tree[id].delta);
tree[id*2+1].delta+=tree[id].delta;
tree[id].delta=0;
}
tree[id].num=(tree[id*2].num+tree[id*2+1].num);
return query(id*2,l,r)+query(id*2+1,l,r);
}
void update(long long id, long long l, long long r, long long delta){
if(tree[id].left>r||tree[id].right<l) return ;
if(tree[id].left>=l&&tree[id].right<=r){
tree[id].num+=((tree[id].right-tree[id].left+1)*delta);
tree[id].delta+=delta;
return ;
}
if(tree[id].delta){
tree[id*2].num+=((tree[id*2].right-tree[id*2].left+1)*tree[id].delta);
tree[id*2].delta+=tree[id].delta;
tree[id*2+1].num+=((tree[id*2+1].right-tree[id*2+1].left+1)*tree[id].delta);
tree[id*2+1].delta+=tree[id].delta;
tree[id].delta=0;
}
update(id*2,l,r,delta);
update(id*2+1,l,r,delta);
tree[id].num=(tree[id*2].num+tree[id*2+1].num);
}
int main(){
return 0;
}点赞0
评论