Cows and Sequence(思维,树状数组)

链接:http://codeforces.com/problemset/problem/284/C
思路:唯一需要注意的是操作1的区间修改,由于查询的时候只会查询最后一个元素并且区间总是从1开始
所以只需用一个s【】数组维护就行

树状数组:令c【i】为原数列,我们让s【i】为c【i】的差分数列即s【i】=c【i】-c【i-1】后
数组s的前i项和即为c【i】
对于区间x~y 加w 的操作 :update(x,w);update(y+1,-w);仍不改变求和操作的正确性

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
#define Accepted 0

LL q,t,a,x,k,num[200010],s[200010];
LL sum=0,cnt=1;


int main()
{
    scanf("%lld",&q);
    num[1]=0;
    while(q--){
       scanf("%lld",&t);
       if(t==1){
           scanf("%lld %lld",&a,&x);
           s[a]+=x;
           sum=sum+a*x;
       }
       else if(t==2){
            scanf("%lld",&k);
            sum+=k;
            cnt++;
            num[cnt]=k;
       }
       else {
            sum=sum-num[cnt]-s[cnt];
            num[cnt]=0;
            cnt--;
            s[cnt]+=s[cnt+1];
            s[cnt+1]=0;///999
       }
       printf("%.6f\n",1.0*sum/(1.0*cnt));
    }
    return Accepted;
}

全部评论

相关推荐

刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结:&nbsp;27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
哪些公司开暑期实习了?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务