猫史档案馆


关于我的C++回帖引起争相模仿……

用户:6666666666666566666666666666665666查看: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;
}
//对不起,本蒟蒻只会写简单的跟一一样的程序。


回复

上一页1 页 / 共 1下一页
我是白白我是白白

???结构体挺屑的

点赞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


评论


我是白白我是白白

这才是基础

点赞0


评论


yee089yee089

语法都很屑,想学随便学。

点赞0


评论