Dotcpp  >  编程题库  >  Travel(J)
题目 2203:

Travel(J)

时间限制: 2s 内存限制: 320MB 提交: 23 解决: 0

题目描述

花神喜欢步行游历各国,顺便虐爆各地ACMer。花神有一条游览路线,它是线型的,也就是说,所有游历国家呈一条线的形状排列,花神对每个国家都有一个喜欢程度(当然花神并不一定喜欢所有国家)每一次旅行中,花神会选择一条旅游路线,它在那一串国家中连续的一段,这次旅行带来的开心值是这些国家的喜欢度的总和。当然花神对这些国家的喜欢程度并不是恒定的,有时会突然对某些国家产生反感,使他对这些国家的喜欢度delta变为Travel(J),也就是开根号(可能遥花神虐爆了那些国家的ACMer,从而感到乏味)现在给出花神每次的旅行路线,以及开心度的变化,请求出花神每次旅行的开心值

对于100%的数据,n<=100000,m<=200000,data[i]非负且小于10^9.

输入格式

第一行有一个整数N表示有N个国家

第二行有N个空格隔开的整数,表示每个国家的初始喜欢度data[i]

第三行是一个整数M表示有M条信息要处理

第四行到最后,每行3个整数,x, l, r, (l<=r),当x=1时询问游历国家l到r的开心值总

和,当x=2是修改国家l到r中每个国家的喜欢度

注:建议使用sqrt函数,且向下取整

输出格式

每次x=1时,每行一个整数,表示这次旅行的开心度

样例输入

4
1 100 5 5
5
1 1 2
2 1 2
1 1 2
2 2 3
1 1 4

样例输出

101
11
11

提示

零基础同学可以先学习视频课程,包含C/C++、Python、百练、蓝桥杯辅导、算法数据结构等课程,提供视频讲解以及配套习题,还有老师答疑,点击这里了解课程详情
标签