牛客编程巅峰赛S2赛季第4场代码

#define LL long long
#define DB double
#define pb push_back
#define pii pair<int,int>
#define mpt make_pair
#define fr first
#define sc second
#define M 200020//Size
#define INF 1000000000
#define INFLL 1000000000000000000
inline int read(){
    int nm=0,fh=1; char c=getchar();
    for(;!isdigit(c);c=getchar()) if(c=='-') fh=-1;
    for(;isdigit(c);c=getchar()) nm=nm*10+c-'0';
    return nm*fh;
}
#define mod 1000000007//About
inline int add(int x,int y){return (x+y>=mod)?(x+y-mod):(x+y);}
inline int mns(int x,int y){return (x-y<0)?(x-y+mod):(x-y);}
inline int mul(LL x,LL y){return x*y%mod;}
inline void upd(int &x,int y){x=(x+y>=mod)?(x+y-mod):(x+y);}
inline void dec(int &x,int y){x=(x-y<0)?(x-y+mod):(x-y);}
inline int qpow(int x,LL sq){int res=1;for(;sq;sq>>=1,x=mul(x,x))if(sq&1)res=mul(res,x);return res;}
class Solution {
public:
    int sum[M],sqr[M],A[M],l[M],r[M];
    #define Inv2 500000004
    vector<int> getSum(vector<int>& a, vector<int>& query) {
        // write code here
        int top=0;
        for(auto x:a) A[++top]=x;
        int now=0,Q=0;
        for(auto x:query){
            now^=1;
            if(now&1) l[++Q]=x;
            else r[Q]=x;
        }
        vector<int>ans;ans.clear();
        for(int i=1;i<=top;i++)
            sum[i]=add(sum[i-1],A[i]),sqr[i]=add(sqr[i-1],mul(A[i],A[i]));
        for(int i=1;i<=Q;i++){
            int L=l[i],R=r[i];
            int ret=mns(sum[R],sum[L-1]);
            ret=mul(ret,ret),dec(ret,mns(sqr[R],sqr[L-1]));
            ans.pb(mul(ret,Inv2));
        }return ans;
    }
}t;

#牛客编程巅峰赛#
全部评论
tql
点赞 回复 分享
发布于 2020-11-30 20:48
orz
点赞 回复 分享
发布于 2020-11-30 20:05
Orz
点赞 回复 分享
发布于 2020-11-30 20:00
点赞 回复 分享
发布于 2020-11-30 19:49
Orz
点赞 回复 分享
发布于 2020-11-30 19:47
😁
点赞 回复 分享
发布于 2020-11-30 19:38
Orz😁
点赞 回复 分享
发布于 2020-11-30 19:07
tql🤣
点赞 回复 分享
发布于 2020-11-30 19:06
+1
点赞 回复 分享
发布于 2020-11-30 19:05
orz
点赞 回复 分享
发布于 2020-11-30 19:05

相关推荐

06-25 16:00
武汉大学 Java
工科研究生底薪工资就开3k啊??
机械打工仔:写文章提成的岗位工资低,你怪工科?
点赞 评论 收藏
分享
05-03 12:45
西南大学 Java
nsnzkv:你这项目写的内容太多了,说实话都是在给自己挖坑,就算简历过了,后面面试也难受
点赞 评论 收藏
分享
06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
点赞 评论 收藏
分享
评论
15
7
分享

创作者周榜

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