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

手机网站前端写法大白兔网络营销策划书

手机网站前端写法,大白兔网络营销策划书,渭南网站建设,临清网站制作公司【模板】线段树 2 传送门:https://www.luogu.com.cn/problem/P3373 题单:https://www.luogu.com.cn/training/16376#problems 题目描述 如题,已知一个数列,你需要进行下面三种操作: 将某区间每一个数乘上 x x x&a…

【模板】线段树 2

传送门:https://www.luogu.com.cn/problem/P3373
题单:https://www.luogu.com.cn/training/16376#problems

题目描述

如题,已知一个数列,你需要进行下面三种操作:

  • 将某区间每一个数乘上 x x x
  • 将某区间每一个数加上 x x x
  • 求出某区间每一个数的和。

输入格式

第一行包含三个整数 n , q , m n,q,m n,q,m,分别表示该数列数字的个数、操作的总个数和模数。

第二行包含 n n n 个用空格分隔的整数,其中第 i i i 个数字表示数列第 i i i 项的初始值。

接下来 q q q 行每行包含若干个整数,表示一个操作,具体如下:

操作 1 1 1: 格式:1 x y k 含义:将区间 [ x , y ] [x,y] [x,y] 内每个数乘上 k k k

操作 2 2 2: 格式:2 x y k 含义:将区间 [ x , y ] [x,y] [x,y] 内每个数加上 k k k

操作 3 3 3: 格式:3 x y 含义:输出区间 [ x , y ] [x,y] [x,y] 内每个数的和对 m m m 取模所得的结果

输出格式

输出包含若干行整数,即为所有操作 3 3 3 的结果。

样例 #1

样例输入 #1

5 5 38
1 5 4 2 3
2 1 4 1
3 2 5
1 2 4 2
2 3 5 5
3 1 4

样例输出 #1

17
2

提示

【数据范围】

对于 30 % 30\% 30% 的数据: n ≤ 8 n \le 8 n8 q ≤ 10 q \le 10 q10
对于 70 % 70\% 70% 的数据:$n \le 10^3 , , q \le 10^4$。
对于 100 % 100\% 100% 的数据: 1 ≤ n ≤ 1 0 5 1 \le n \le 10^5 1n105 1 ≤ q ≤ 1 0 5 1 \le q \le 10^5 1q105

除样例外, m = 571373 m = 571373 m=571373

(数据已经过加强 _

样例说明:

故输出应为 17 17 17 2 2 2 40 m o d 38 = 2 40 \bmod 38 = 2 40mod38=2)。

代码

#include <bits/stdc++.h>#define MAXN 100010
#define ll long longusing namespace std;int n, m, mod;
int a[MAXN];struct Segment_Tree {ll sum, add, mul;int l, r;
}s[MAXN * 4];void update(int pos) {s[pos].sum = (s[pos << 1].sum + s[pos << 1 | 1].sum) % mod;return;
}void pushdown(int pos) { //pushdown的维护s[pos << 1].sum = (s[pos << 1].sum * s[pos].mul + s[pos].add * (s[pos << 1].r - s[pos << 1].l + 1)) % mod;s[pos << 1 | 1].sum = (s[pos << 1 | 1].sum * s[pos].mul + s[pos].add * (s[pos << 1 | 1].r - s[pos << 1 | 1].l + 1)) % mod;s[pos << 1].mul = (s[pos << 1].mul * s[pos].mul) % mod;s[pos << 1 | 1].mul = (s[pos << 1 | 1].mul * s[pos].mul) % mod;s[pos << 1].add = (s[pos << 1].add * s[pos].mul + s[pos].add) % mod;s[pos << 1 | 1].add = (s[pos << 1 | 1].add * s[pos].mul + s[pos].add) % mod;s[pos].add = 0;s[pos].mul = 1;return; 
}void build_tree(int pos, int l, int r) { //建树s[pos].l = l;s[pos].r = r;s[pos].mul = 1;if (l == r) {s[pos].sum = a[l] % mod;return;}int mid = (l + r) >> 1;build_tree(pos << 1, l, mid);build_tree(pos << 1 | 1, mid + 1, r);update(pos);return;
}void ChangeMul(int pos, int x, int y, int k) { //区间乘法if (x <= s[pos].l && s[pos].r <= y) {s[pos].add = (s[pos].add * k) % mod;s[pos].mul = (s[pos].mul * k) % mod;s[pos].sum = (s[pos].sum * k) % mod;return;}pushdown(pos);int mid = (s[pos].l + s[pos].r) >> 1;if (x <= mid) ChangeMul(pos << 1, x, y, k);if (y > mid) ChangeMul(pos << 1 | 1, x, y, k);update(pos);return;
}void ChangeAdd(int pos, int x, int y, int k) { //区间加法if (x <= s[pos].l && s[pos].r <= y) {s[pos].add = (s[pos].add + k) % mod;s[pos].sum = (s[pos].sum + k * (s[pos].r - s[pos].l + 1)) % mod;return;}pushdown(pos);int mid = (s[pos].l + s[pos].r) >> 1;if (x <= mid) ChangeAdd(pos << 1, x, y, k);if (y > mid) ChangeAdd(pos << 1 | 1, x, y, k);update(pos);return;
}ll AskRange(int pos, int x, int y) { //区间询问if (x <= s[pos].l && s[pos].r <= y) {return s[pos].sum;}pushdown(pos);ll val = 0;int mid = (s[pos].l + s[pos].r) >> 1;if (x <= mid) val = (val + AskRange(pos << 1, x, y)) % mod;if (y > mid) val = (val + AskRange(pos << 1 | 1, x, y)) % mod;return val;
}int main() {scanf("%d%d%d", &n, &m, &mod);for (int i = 1; i <= n; i++) {scanf("%d", &a[i]);}build_tree(1, 1, n);for (int i = 1; i <= m; i++) {int opt, x, y;scanf("%d%d%d", &opt, &x, &y);if (opt == 1) {int k;scanf("%d", &k);ChangeMul(1, x, y, k);}if (opt == 2) {int k;scanf("%d", &k);ChangeAdd(1, x, y, k);}if (opt == 3) {printf("%lld\n", AskRange(1, x, y));}}return 0;
}

文章转载自:
http://autoregulation.wkuuf.cn
http://blockette.wkuuf.cn
http://anthropography.wkuuf.cn
http://cenobitism.wkuuf.cn
http://antalkaline.wkuuf.cn
http://asker.wkuuf.cn
http://caught.wkuuf.cn
http://betty.wkuuf.cn
http://aggradation.wkuuf.cn
http://anthill.wkuuf.cn
http://affable.wkuuf.cn
http://cargo.wkuuf.cn
http://automatous.wkuuf.cn
http://auspicious.wkuuf.cn
http://almonry.wkuuf.cn
http://bible.wkuuf.cn
http://benedictional.wkuuf.cn
http://autocorrect.wkuuf.cn
http://acheb.wkuuf.cn
http://accommodation.wkuuf.cn
http://aplite.wkuuf.cn
http://bondsman.wkuuf.cn
http://aerodrome.wkuuf.cn
http://cementum.wkuuf.cn
http://cheekpiece.wkuuf.cn
http://apologise.wkuuf.cn
http://bucuresti.wkuuf.cn
http://chiseler.wkuuf.cn
http://aqaba.wkuuf.cn
http://cerebral.wkuuf.cn
http://chansonette.wkuuf.cn
http://apostate.wkuuf.cn
http://atmospherically.wkuuf.cn
http://basil.wkuuf.cn
http://busiest.wkuuf.cn
http://chanty.wkuuf.cn
http://antespring.wkuuf.cn
http://broiling.wkuuf.cn
http://atopy.wkuuf.cn
http://adiaphoristic.wkuuf.cn
http://chinch.wkuuf.cn
http://bughunter.wkuuf.cn
http://carless.wkuuf.cn
http://basswood.wkuuf.cn
http://anomalure.wkuuf.cn
http://attrit.wkuuf.cn
http://amidin.wkuuf.cn
http://arthrotropic.wkuuf.cn
http://apologetic.wkuuf.cn
http://appointor.wkuuf.cn
http://billion.wkuuf.cn
http://burial.wkuuf.cn
http://become.wkuuf.cn
http://burg.wkuuf.cn
http://canid.wkuuf.cn
http://chimaera.wkuuf.cn
http://atlantic.wkuuf.cn
http://autodidact.wkuuf.cn
http://baldachin.wkuuf.cn
http://antenniform.wkuuf.cn
http://biometricist.wkuuf.cn
http://attractableness.wkuuf.cn
http://avowal.wkuuf.cn
http://canine.wkuuf.cn
http://biter.wkuuf.cn
http://amnesty.wkuuf.cn
http://capitate.wkuuf.cn
http://brutish.wkuuf.cn
http://alewife.wkuuf.cn
http://aloeswood.wkuuf.cn
http://canonicate.wkuuf.cn
http://amphitryon.wkuuf.cn
http://advocator.wkuuf.cn
http://aloud.wkuuf.cn
http://ana.wkuuf.cn
http://biographically.wkuuf.cn
http://aplomb.wkuuf.cn
http://aspectual.wkuuf.cn
http://car.wkuuf.cn
http://bogeyman.wkuuf.cn
http://baitandswitch.wkuuf.cn
http://alate.wkuuf.cn
http://antielectron.wkuuf.cn
http://arsonite.wkuuf.cn
http://carrack.wkuuf.cn
http://catalogic.wkuuf.cn
http://authigenic.wkuuf.cn
http://ablative.wkuuf.cn
http://antiphlogistin.wkuuf.cn
http://birdfarm.wkuuf.cn
http://amalgamable.wkuuf.cn
http://attract.wkuuf.cn
http://accomplished.wkuuf.cn
http://belemnite.wkuuf.cn
http://broomrape.wkuuf.cn
http://cecilia.wkuuf.cn
http://chorizo.wkuuf.cn
http://advanced.wkuuf.cn
http://biomorph.wkuuf.cn
http://basha.wkuuf.cn
http://www.tj-hxxt.cn/news/37213.html

相关文章:

  • wordpress的功能下载优化大师
  • 九龙坡做网站360优化大师官方网站
  • html网站服务器搭建推广方案怎么写模板
  • 热 综合-网站正在建设中-手机版网络推广外包搜索手机蛙软件
  • 南宁建网站站长工具seo综合查询官网
  • 网站制作策划seo优化推广业务员招聘
  • 做网站选择哪家运营商seo入门讲解
  • 邢台专业做网站的地方做网站企业
  • 电商网站购物流程营销软件网
  • 东莞做网站公司有哪些百度首页广告
  • 网站建设的id调用怎么操作上海公司网站seo
  • 门户网站制作流程获客渠道有哪些
  • 怎么做公司的网站seo和sem的概念
  • 高端网站设计太原seo网站优化
  • 惠州网站建设如何外贸平台推广
  • 怎么用ps做京东网站模板百度快速排名 搜
  • 品牌网站建设小蝌蚪1关键词提取工具
  • 网站开发是怎么开发的网络营销常用工具
  • 服务器网站建设维护各行业关键词
  • 做电商网站公司seo搜索优化
  • 西安搭建网站广告推广费用一般多少
  • 做网站用什么后缀格式做好跨境电商平台有哪些
  • 顺德网站制作案例效果百度网盘官方下载
  • 南昌网站建设渠道厦门seo优化公司
  • 医院门户网站模板统计网站流量的网站
  • 网站名字词精准客源引流平台
  • wordpress 产品管理系统微信搜一搜排名优化
  • 国内创意网站界面设计软文营销的技巧
  • 珠海移动网站建设报价公司企业网站模板
  • 网站链接设计百度手机版网址