UESTC - 1057 秋实大哥与花 线段树
题意
秋实大哥是一个儒雅之人,昼听笙歌夜醉眠,若非月下即花前。
所以秋实大哥精心照料了很多花朵。现在所有的花朵排成了一行,每朵花有一个愉悦值。
秋实大哥每天要对着某一段连续的花朵歌唱,然后这些花朵的愉悦值都会增加一个相同的值v(v可能为负)。
同时他想知道每次他唱完歌后这一段连续的花朵的愉悦值总和是多少。
思路
模板题。
AC代码
#include <cstdio>
#include <cmath>
#include <cctype>
#include <bitset>
#include <algorithm>
#include <cstring>
#include <utility>
#include <string>
#include <iostream>
#include <map>
#include <set>
#include <vector>
#include <queue>
#include <stack>
using namespace std;
#pragma comment(linker, "/STACK:1024000000,1024000000")
#define eps 1e-10
#define inf 0x3f3f3f3f
#define pii pair<int, int>
typedef long long LL;
const double PI = acos(-1.0);
const int maxn = 1e5 + 5;
int a[maxn];struct node{int l, r;LL sum, lazy;void update(int x) {sum += 1LL*(r-l+1)*x;lazy += x;}
}tree[maxn*4];void push_up(int x) {tree[x].sum = tree[x<<1].sum + tree[x<<1|1].sum;
}void push_down(int x) {int lazy = tree[x].lazy;if(lazy) {tree[x<<1].update(lazy);tree[x<<1|1].update(lazy);tree[x].lazy = 0;}
}void build(int x, int l, int r) {tree[x].l = l, tree[x].r = r;tree[x].sum = tree[x].lazy = 0;if(l == r) {tree[x].sum = a[l];}else {int mid = (l+r) / 2;build(x<<1, l, mid);build(x<<1|1, mid+1, r);push_up(x);}
}void update(int x, int l, int r, int val) {int L = tree[x].l, R = tree[x].r;if(l <= L && R <= r) {tree[x].update(val);}else {push_down(x);int mid = (L+R) / 2;if(mid >= l) update(x<<1, l, r, val);if(r > mid) update(x<<1|1, l, r, val);push_up(x);}
}LL query(int x, int l, int r) {int L = tree[x].l, R = tree[x].r;if(l <= L && R <= r) return tree[x].sum;else {push_down(x);int mid = (L+R) / 2;LL ans = 0;if(mid >= l) ans += query(x<<1, l, r);if(r > mid) ans += query(x<<1|1, l, r);push_up(x);return ans;}
}int main() {int n, q;while(scanf("%d", &n) == 1) {for(int i = 1; i <= n; ++i) scanf("%d", &a[i]);build(1, 1, n);scanf("%d", &q);int l, r, val;for(int i = 0; i < q; ++i) {scanf("%d%d%d", &l, &r, &val);update(1, l, r, val);printf("%lld\n", query(1, l, r));}}return 0;
}
如有不当之处欢迎指出!
UESTC - 1057 秋实大哥与花 线段树相关推荐
- UESTC - 1057 秋实大哥与花 线段树模板题
http://acm.uestc.edu.cn/#/problem/show/1057 题意:给你n个数,q次操作,每次在l,r上加上x并输出此区间的sum 题解:线段树模板, #define _CR ...
- UESToj 1057 秋实大哥与花 ( 线段树
秋实大哥与花 Description 秋实大哥是一个儒雅之人,昼听笙歌夜醉眠,若非月下即花前. 所以秋实大哥精心照料了很多花朵.现在所有的花朵排成了一行,每朵花有一个愉悦值. 秋实大哥每天要对着某一段 ...
- UESTC-1057 秋实大哥与花(线段树+成段加减+区间求和)
秋实大哥与花 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit St ...
- 2015 UESTC 数据结构专题A题 秋实大哥与小朋友 线段树 区间更新,单点查询,离散化...
秋实大哥与小朋友 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/59 Desc ...
- 秋实大哥与家 线段树+扫描线
debug 快要绝望–发现operator 里面竟然连return 都没有 -QAQ 标1 处都是不合理的位置 --也就是原有家具(包括边界)向左(向上)移动m-1的范围 题目就转化为求两种情况 面积 ...
- CDOJ-1057 秋实大哥与花(线段树区间更新)
秋实大哥与花 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit St ...
- UESTC_秋实大哥与花 2015 UESTC Training for Data StructuresProblem B
B - 秋实大哥与花 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submi ...
- (线段树--区间更新lazy)CDOJ1057 秋实大哥与花
传送门:CDOJ1057 秋实大哥与花 秋实大哥是一个儒雅之人,昼听笙歌夜醉眠,若非月下即花前. 所以秋实大哥精心照料了很多花朵.现在所有的花朵排成了一行,每朵花有一个愉悦值. 秋实大哥每天要对着某一 ...
- UESTC-1057 秋实大哥与花
学习一下线段树: UESTC-1057 秋实大哥与花 题意: 秋实大哥是一个儒雅之人,昼听笙歌夜醉眠,若非月下即花前. 所以秋实大哥精心照料了很多花朵.现在所有的花朵排成了一行,每朵花有一个愉悦值. ...
最新文章
- 4g8核支持多少php进程,服务器8核16g内存,同时有1000多人在抢红包,有502怎么办?...
- 2019.4.03 整体总结自己小程序开发的最后上线出现的问题。
- 【CentOS】EOF使用
- svn如何取消某个文件的版本管理_微服务架构如何统一管理工程配置文件
- 回答一下这些游戏帧数有关的问题吗?
- 苹果xsmax是什么接口_为什么苹果PD快充线头是银色而非金黄色?原来那根本就不是镀的银...
- 2022卡塔尔世界杯来临,体育界最新创意二维码案例大盘点!
- 安信可——PB-03F烧录
- [完美解决] kali打不开Google Chrome 双击谷歌浏览器图标无反应
- python error:‘mbcs‘ codec can‘t encode
- 一行代码视频下载,so easy!
- 高效记录任务和提醒的极简ToDo待办事项便签应用
- linux创建桥接接口,Linux创建桥接网络
- 信息架构的设计思路 .
- PostgreSQL行级安全策略RLS和数据加密
- 【面试积累】牛人的面试技巧分享
- 11年北漂老码农转行!黯然离场...
- 生活中软件易用性的例子_大学生活中那些堪称神器的软件,真实且好用,生活学习必备...
- 阿里正式启动2021届春季校招!java算法工程师,看完跪了
- 秋招面试之测试开发绿盟
热门文章
- 苹果首席设计师艾维将离职开办新公司 还会开发苹果产品
- 用结构体练习 考生信息录入
- 一文告诉你什么是商务智能
- Java面试题 基本类型和包装类对象使用 == 和 equals进行比较的结果?
- 牛客寒假基础集训营 | Day1 D题—hanayo和米饭
- 信创蓝海 合作共赢:统信UOS代理商推介会(郑州站)成功举行
- 微机原理与接口技术 重点详解与章节总结——微处理器CPU的系统结构
- SLAM之camera(Intel RealSense D435)调试第一弹:Win10平台下getting started
- Win10下安装MySQL
- 从“盗墓者”变成“守墓人”,鼻祖级黑客Charlie Miller眼中的自动驾驶安全