正题


题目大意

若干个区间操作l,rl,rl,r
让答案增加(l+r)∗max{ai}(i∈[l..r])(l+r)*max\{a_i\}(i\in[l..r])(l+r)∗max{ai​}(i∈[l..r])
并把最大的数变为0


解题思路

线段树,上传最大值时多上传一个位置,然后单点修改。


codecodecode

#include<cstdio>
#include<algorithm>
using namespace std;
const int N=200100,XJQ=2011;
struct treenode{int num,val,l,r;
}t[N*4];
int n,m,ans,sum,num;
void Merge(int k)
{if(t[k*2].val>t[k*2+1].val)t[k].val=t[k*2].val,t[k].num=t[k*2].num;else t[k].val=t[k*2+1].val,t[k].num=t[k*2+1].num;
}
void build(int k,int l,int r)
{t[k].l=l;t[k].r=r;if(l==r){scanf("%d",&t[k].val);t[k].num=t[k].l;return;}int mid=(l+r)/2;build(k*2,l,mid);build(k*2+1,mid+1,r);Merge(k);
}
void ask(int k,int l,int r)
{if(t[k].l==l&&t[k].r==r){if(t[k].val<=ans) return;ans=t[k].val;num=t[k].num;return;}int mid=(t[k].l+t[k].r)/2;if(r<=mid) ask(k*2,l,r);else if(l>mid) ask(k*2+1,l,r);else ask(k*2,l,mid),ask(k*2+1,mid+1,r);
}
void change(int k,int x)
{if(t[k].l==t[k].r){t[k].val=0;return;}int mid=(t[k].l+t[k].r)/2;if(x<=mid) change(k*2,x);else change(k*2+1,x);Merge(k);
}
int main()
{//freopen("data.in","r",stdin);scanf("%d%d",&n,&m);build(1,1,n);for(int i=1;i<=m;i++){int l,r;scanf("%d%d",&l,&r);ans=0;ask(1,l,r);(sum+=ans*((l+r)%XJQ)%XJQ)%=XJQ;change(1,num);}printf("%d",sum);
}

nssl1298-网站计划【线段树】相关推荐

  1. 洛谷P2826 [USACO08NOV]光开关Light Switching [2017年6月计划 线段树02]

    P2826 [USACO08NOV]光开关Light Switching 题目描述 Farmer John tries to keep the cows sharp by letting them p ...

  2. 洛谷P2073 送花 [2017年6月计划 线段树01]

    P2073 送花 题目背景 小明准备给小红送一束花,以表达他对小红的爱意.他在花店看中了一些花,准备用它们包成花束. 题目描述 这些花都很漂亮,每朵花有一个美丽值W,价格为C. 小明一开始有一个空的花 ...

  3. BZOJ 2157 「国家集训队」旅游(树链剖分,线段树,边权转点权)【BZOJ计划】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/2157 是 hydro 的 BZOJ ...

  4. 「JOISC 2020 Day4」治疗计划(线段树+dijkstra最短路)

    「JOISC 2020 Day4」治疗计划 description solution 设dpi:1−Ridp_i:1-R_idpi​:1−Ri​ 都能被救治成功的最小花费 两个治疗方案[Li,Ri], ...

  5. 【YBT2022寒假Day8 A】染色计划(Tarjan)(线段树优化建边)(树链剖分)

    染色计划 题目链接:YBT2022寒假Day8 A 题目大意 给你一棵树,然后有 k 中颜色,每个点有一个颜色,然后问你要修改多少次,才能使得一个存在的颜色的所有点构成一个连通块. 一个修改操作指选择 ...

  6. AK F.*ing leetcode 流浪计划之线段树

    欢迎关注更多精彩 关注我,学习常用算法与数据结构,一题多解,降维打击. 文章目录 零.简介 一.算法原理 树的构建 更新 查询 二.数据结构及算法实现 数据结构 构建 更新 查询 复杂度分析 例题题解 ...

  7. P4292-[WC2010]重建计划【长链剖分,线段树,0/1分数规划】

    正题 题目链接:https://www.luogu.com.cn/problem/P4292 题目大意 给出nnn个点的一棵树,然后求长度在[L,U][L,U][L,U]之间的一条路径的平均权值最大. ...

  8. [BZOJ 3207] 花神的嘲讽计划Ⅰ【Hash + 可持久化线段树】

    题目链接:BZOJ - 3207 题目分析 先使用Hash,把每个长度为 k 的序列转为一个整数,然后题目就转化为了询问某个区间内有没有整数 x . 这一步可以使用可持久化线段树来做,虽然感觉可以有更 ...

  9. bzoj4444: [Scoi2015]国旗计划(线段树+倍增)

    传送门 题意简述:现在给你一个长度为 m m m的环,有 n n n条互不包含的线段,问如果强制选第 i i i条线段至少需要用几条线段覆盖这个环,注意用来的覆盖的线段应该相交,即 [ 1 , 3 ] ...

最新文章

  1. 我把帮带份饭的信息错发给导师后.......
  2. 【Linux】23_网络管理物理层详解
  3. 大连理工大学c语言第三次上机作业答案,大连理工大学软件学院C语言上机第五六章课后题...
  4. 资讯|WebRTC M92 更新
  5. 常用Arthas命令
  6. 访问修饰符 public与private c# 1230
  7. maven-dependencies插件的模拟实现
  8. [免费专栏] Android安全之Drozer安全测试详细使用教程
  9. 足球foteball英文
  10. Cesium使用独显GPU提高性能(适用于webGL)
  11. sgg-hbase-01
  12. 跟大家聊聊VR全景个人感受
  13. c语言零基础第三课:运算符学习
  14. 机器学习与人工智能顶会论文列表汇总
  15. 数字逻辑电路(前三章简介)
  16. 【渝粤题库】广东开放大学Photoshop图像设计 形成性考核
  17. AJAX异步判断注册用户名是否重复
  18. 关于android 在黑屏情况下wifi下载速度慢的问题的解决。
  19. 计算机组成原理第三四章简答,计算机组成原理第三四章作业题
  20. ib数学ia选题例子

热门文章

  1. mysql怎么存照片信息_mysql怎么存储图片信息?
  2. css伪类元素加在元素前,CSS伪类:before在元素之前 :after 在元素之后实例讲解
  3. python standardscaler_教你用python一步步解决“维度灾难”
  4. bcm943602cs蓝牙用不了_原来手机的蓝牙功能这么强大!除了连接耳机,还有这六大实用功能...
  5. Pytorch中的 torch.Tensor() 和 torch.tensor() 的区别
  6. 买卖股票类问题动态规划解法(Leetcode题解-Python语言)
  7. 前端只是切图仔?来学学给开发人看的UI设计
  8. 数据结构与算法-- 八皇后问题(多种实现方案)
  9. MySql 内连接,外连接查询方式区别
  10. 浅谈java spring_浅谈Spring(一)