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

医院网站建设关键词优化排名软件怎么样

医院网站建设,关键词优化排名软件怎么样,做本地分类信息网站赚钱吗,注册公司注册企业注册【题目描述】 给定一个长度为n的非负整数序列&#xff0c;接下来有m次操作&#xff0c;操作共有3种&#xff1a;一是修改序列中某个元素的大小&#xff0c;二是求某个区间的所有元素的和&#xff0c;三是询问某个区间的最大值。整数序列下标从1开始。n<10^5, m<10^5。 …

【题目描述】

给定一个长度为n的非负整数序列,接下来有m次操作,操作共有3种:一是修改序列中某个元素的大小,二是求某个区间的所有元素的和,三是询问某个区间的最大值。整数序列下标从1开始。n<=10^5, m<=10^5。

【输入描述】

第一行2个整数n和m, 分别 表示整数序列的元素个数和操作次数;

接下来一行就是这n个非负整数, 每个整数都不超过10^8;

接下来m行,每行都有三个整数k, a, b;

如果k是0的话,就表示把原序列中的第a个位置上的数改为b,b也是不超过10^8的非负整数。

如果k是1的话,就表示询问区间[a, b]的最大值, 如果k是2的话就表示询问区间[a, b]的元素和。

【输出描述】

对于每个k为1或2的询问输出相对应的结果,每个输出结果占一行。

【输入样例】

10 4
5 2 3 4 7 9 5 8 6 2
0 5 9
1 2 5
0 8 6
2 7 10

【输出样例】

9
19

 

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 100010;
struct node {int l, r, mx;ll s;
};
node xdt[4*N];
int n, m, p, l, r, x, y, a[N];
void build(int k, int l, int r) {xdt[k].l = l;  xdt[k].r = r;if (l==r) {xdt[k].s = a[l];xdt[k].mx = a[l];return;}int mid = (xdt[k].l + xdt[k].r) / 2;build(k*2, l, mid);build(k*2+1, mid+1, r);xdt[k].s = xdt[k*2].s + xdt[k*2+1].s;xdt[k].mx = max(xdt[k*2].mx, xdt[k*2+1].mx);
}
void change(int k, int x, int y) {if (xdt[k].l == x && xdt[k].r == x) {xdt[k].s = y;xdt[k].mx = y;return;	}int mid = (xdt[k].l + xdt[k].r) / 2;if (x <= mid) change(k*2, x, y);else change(k*2+1, x, y);xdt[k].s = xdt[k*2].s + xdt[k*2+1].s;xdt[k].mx = max(xdt[k*2].mx, xdt[k*2+1].mx);
}
long long find_s(int k, int l, int r) {if (xdt[k].l == l && xdt[k].r == r) {return xdt[k].s;}int mid = (xdt[k].l + xdt[k].r) / 2;if (l > mid) return find_s(k*2+1, l, r);if (r <= mid) return find_s(k*2, l, r);return find_s(k*2, l, mid) + find_s(k*2+1, mid+1, r);
}
int find_mx(int k, int l, int r) {if (xdt[k].l == l && xdt[k].r == r) {return xdt[k].mx;}int mid = (xdt[k].l + xdt[k].r) / 2;if (l > mid) return find_mx(k*2+1, l, r);if (r <= mid) return find_mx(k*2, l, r);return max(find_mx(k*2, l, mid), find_mx(k*2+1, mid+1, r));
}
int main() {scanf("%d%d", &n, &m);for (int i=1; i<=n; i++) scanf("%d", &a[i]);build(1, 1, n);for (int i=1; i<=m; i++) {scanf("%d", &p);if (p==0) {scanf("%d%d", &x, &y);change(1, x, y);} if (p==1) {scanf("%d%d", &l, &r);printf("%d\n", find_mx(1, l, r));}if (p==2) {scanf("%d%d", &l, &r);printf("%lld\n", find_s(1, l, r));}}return 0;
}

http://www.ds6.com.cn/news/58996.html

相关文章:

  • 做伞的外国网站新手做外贸怎么入门
  • 做外贸一般去什么网站找客户公众号软文素材
  • 电商设计网站模板网络推广平台大全
  • wordpress怎么安装模板文件免费关键词排名优化软件
  • php+mysql网站开发教程如何优化企业网站
  • flash软件做的网站最后需要用dreamweaver调整上海网络推广培训学校
  • 论坛做网站好吗人力资源和社会保障部
  • 什么是wap网站长春网站搭建
  • 正宗营销型网站建设阿里云建网站
  • 驻马店市网站建设网站快速排名的方法
  • 谷歌seo综合查询windows7优化大师
  • 做医美设计的网站推广引流方法有哪些?
  • 国外网站dns改成什么快查询网 网站查询
  • 友情网站制作北京网络营销
  • 内江网站怎么做seo自媒体seo优化
  • 服装网站的设计理念西安百度竞价外包
  • 创建公司为什么必须三个人志鸿优化设计答案网
  • 唐山市网站建设seo推广案例
  • wordpress漏洞上传php文件搜狗seo软件
  • 网络服务费的资金产出有哪些如何做网站搜索引擎优化
  • 自己做的网站出现广告外链推广论坛
  • 幼儿园网站建设结论分析百度竞价sem入门教程
  • 电子商务网站设计模板seo排名优化是什么
  • 中山手机网站制作多少钱电商网站seo优化
  • 成都网站运营维护厂家优化大师使用心得
  • 做网站互联网公司点击进入官方网站
  • 重庆网站建设公司招聘百度商城官网首页
  • 郑州便宜网站建设报价淘宝店怎么运营和推广
  • 福田区住房和建设局地址官方网站衡水seo优化
  • html5自适应网站模版东莞网络推广平台