当前位置: 首页 > wzjs >正文

怎么免费建自己的网站东莞营销型网站建设

怎么免费建自己的网站,东莞营销型网站建设,关于网站建设民意调查,毕业设计做的网站抄袭题目描述 给出一个长为 n n n 的数列,以及 n n n 个操作,操作涉及区间加法,区间求和。 输入格式 第一行输入一个数字 n n n。 第二行输入 n n n 个数字,第 i 个数字为 a i a_i ai​,以空格隔开。 接下来输入…

题目描述

给出一个长为 n n n 的数列,以及 n n n 个操作,操作涉及区间加法,区间求和。

输入格式

第一行输入一个数字 n n n

第二行输入 n n n 个数字,第 i 个数字为 a i a_i ai,以空格隔开。

接下来输入 n n n 行询问,每行输入四个数字 o p t , l , r , c opt,l,r,c opt,l,r,c,以空格隔开。

opt = 0,表示将位于 [ l , r ] [l, r] [l,r] 的之间的数字都加 c c c

opt = 1,表示询问位于 [ l , r ] [l, r] [l,r] 的所有数字的和 m o d ( c + 1 ) \bmod (c+1) mod(c+1)

输出格式

对于每次询问,输出一行一个数字表示答案。

样例

样例输入1:

4
1 2 2 3
0 1 3 1
1 1 4 4
0 1 2 2
1 1 2 4

样例输出1:

1
4

数据范围

对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 50000 1 \le n \le 50000 1n50000 − 2 31 ≤ o t h e r s , a n s ≤ 2 31 − 1 -2^{31} \le others,ans \le 2^{31} - 1 231others,ans2311

题解

与数列分块1类似,区间加法如果是散块就直接加,整块就在整块上打标记。询问时散块直接枚举,整块将预处理的整块的和加上。

块长建议开 n 0.66 n^{0.66} n0.66,这样会更快。

#include<bits/stdc++.h>
using namespace std;
int n;
long long a[51010];
struct kuai{long long kuai_cnt, kuai_len, belong[51010], add[310], b[51010];long long kuai[310];void init(){kuai_len = sqrt(n);kuai_cnt = (n + kuai_len - 1) / kuai_len;for(int i = 1; i <= kuai_cnt; ++ i){for(int j = (i - 1) * kuai_len + 1; j <= i * kuai_len; ++ j){kuai[i] += a[j];belong[j] = i;b[j] = a[j];}}}void change(int l, int r, int d){if(belong[l] == belong[r]){for(int i = l; i <= r; ++ i){b[i] += d;}kuai[belong[l]] += (r - l + 1) * d;}else{for(int i = l; i <= belong[l] * kuai_len; ++ i){b[i] += d;kuai[belong[l]] += d;}for(int i = belong[l] + 1; i <= belong[r] - 1; ++ i){add[i] += d;kuai[i] += d * (min((long long)n, i * kuai_len) - (i - 1) * kuai_len );}for(int i = (belong[r] - 1) * kuai_len + 1; i <= r; ++ i){b[i] += d;kuai[belong[r]] += d;}}}long long query(int l, int r){if(belong[l] == belong[r]){long long ans = 0;for(int i = l; i <= r; ++ i){ans += b[i] + add[belong[l]];}return ans;}else{long long ans = 0;for(int i = l; i <= belong[l] * kuai_len; ++ i){ans += b[i] + add[belong[l]];}for(int i = belong[l] + 1; i <= belong[r] - 1; ++ i){ans += kuai[i];}for(int i = (belong[r] - 1) * kuai_len + 1; i <= r; ++ i){ans += b[i] + add[belong[r]];}return ans;}}
}k;
int main(){scanf("%d", &n);for(int i = 1; i <= n; ++ i){scanf("%d", &a[i]);}k.init();for(int i = 1; i <= n; ++ i){int op, l, r, d;scanf("%d %d %d %d", &op, &l, &r, &d);if(op == 0){k.change(l, r, d);}else{printf("%lld\n", k.query(l, r) % (d + 1));}}return 0;
}
http://www.dtcms.com/wzjs/184358.html

相关文章:

  • wordpress怎装模板seo就业哪家好
  • 惠州品牌网站建设公司哪里有沪深300指数怎么买
  • 网站建设哪家技术好网站广告接入
  • 用javascirpt做的网站手机端关键词排名优化
  • 电子商务网站的建设费用案例自制网站 免费
  • 南阳高质量建设大城市网站昆明做网站的公司
  • 常宁市城乡和住房建设网站百度热点排行榜
  • 东丽区网站建设公司百度定位店铺位置怎么设置
  • 如何在腾讯云上建设网站百度推广登录入口官网
  • 集团网站策划方案seo是指
  • 手机网站建设 的作用看b站视频软件下载安装手机
  • 做网站要下载的软件营销策划书范文1000字
  • 实训做网站收获外贸网站都有哪些
  • 韩国男女做游戏视频网站seo关键词排名优化手机
  • 全网营销网站怎么做设计素材网站
  • 商务网站开发文档餐饮营销策划与运营
  • 广州建设银行网站首页营销目标分为三个方面
  • 重庆做网站哪家好东莞网络优化服务商
  • 小程序 网站建设 app 开发单页网站制作
  • 网站app开发哪家好品牌关键词优化
  • 网站开发中网页上传哪个浏览器看黄页最快夸克浏览器
  • 哪家公司产品设计的好seo关键词的优化技巧
  • 学校局域网站建设关键词排名霸屏代做
  • 男的和女的做那种短视频网站浅议网络营销论文
  • 哪里有网站建设哪家好晋中网站seo
  • 漳州网站建设多少钱搜索引擎查重
  • 苏州城乡住房建设局网站广东短视频seo营销
  • 公众号怎么开通视频号培训行业seo整站优化
  • 武进网站建设基本流程怎么在百度上做广告
  • 网站空间怎么回事沈阳市网站