linklinklink

分析:

都说是裸差分 那就线段树做(
海拔的上升与下降 就区间修改 答案就单点查询
具体的就跟题意模拟了
然后注意a0a_0a0​是000 那n,x,yn,x,yn,x,y啥的都要加111 但必须在快读+1+1+1 不然就会WAWAWA
害我调了好久(

CODE:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
#include<vector>
#include<bitset>
#define Ctnue continue
//#pragma GCC optimize(2)
#define reg register
using namespace std;
typedef long long ll;
typedef double db;
typedef unsigned long long ull;
const int N=2e5+5;
int n,m,s,t;
ll ans,a[N],sum[N<<2],w1,w2,fad;
inline int read()
{int x=0,f=1;char ch=getchar();while(ch>'9'||ch<'0'){if(ch=='-') f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<3)+(x<<1)+ch-48;ch=getchar();}return x*f;
}
void down(int now){sum[now<<1]+=sum[now];sum[now<<1|1]+=sum[now];sum[now]=0;
}
void Add(int now,int l,int r,int L,int R,int value)
{if(L<=l&&r<=R){sum[now]+=value;return;}int mid=(l+r)>>1;down(now);if(L<=mid) Add(now<<1,l,mid,L,R,value);if(mid<R) Add(now<<1|1,mid+1,r,L,R,value);
}
ll query(int now,int l,int r,int L,int R)
{if(l==r) return sum[now]+a[l];int mid=(l+r)>>1;down(now);if(L<=mid) return query(now<<1,l,mid,L,R);else return query(now<<1|1,mid+1,r,L,R);
}
void add(ll a,ll b)
{if(b>a) ans+=(b-a)*t;else ans-=(a-b)*s;
}
void sub(ll a,ll b)
{if(b>a) ans-=(b-a)*t;else ans+=(a-b)*s;
}
int main()
{n=read()+1;m=read();t=read();s=read();a[1]=read();for(int i=2;i<=n;i++){a[i]=read();if(a[i-1]<a[i]) ans-=(a[i]-a[i-1])*t;else ans+=(a[i-1]-a[i])*s;}while(m--){int x,y,val;x=read()+1;y=read()+1;val=read();w2=query(1,1,n,x,y);x--; w1=query(1,1,n,x,y);x++;add(w1,w2);if(y!=n){fad=x;x=y;w1=query(1,1,n,x,y);x++;w2=query(1,1,n,x,y);x=fad;add(w1,w2);}Add(1,1,n,x,y,val);w2=query(1,1,n,x,y);x--;w1=query(1,1,n,x,y);x++;sub(w1,w2);if(y!=n){fad=x;x=y;w1=query(1,1,n,x,y);x++;w2=query(1,1,n,x,y);sub(w1,w2);}printf("%lld\n",ans);}return 0;
}

【洛谷AT2442】フェーン現象(Foehn Phenomena)【线段树】相关推荐

  1. 洛谷 AT2442 フェーン現象 (Foehn Phenomena)

    洛谷 AT2442 フェーン現象 (Foehn Phenomena) 题目链接 题意: 自己看 思路: 当前地点温度其实只和前一个地点有关,可以考虑差分,每次变动时先减去原地点产生的影响,在加上变动后 ...

  2. AT2442 フェーン現象 (Foehn Phenomena)

    题目地址 原题地址 题解 其实就是一个区间加,单点查询的问题 当然可以线段树/树状数组做,但是这两个做法要分类讨论所以代码会比较多 我们考虑一种更简便的做法 差分! 因为温度只和海拔差有关,这相当于题 ...

  3. 洛谷 - P1886 滑动窗口(单调队列/线段树)

    题目链接:点击查看 题目大意:给出一个由n个数构成的序列,再给出一个长度为k的窗口,这个窗口从第一个下标开始一直向后移动,每次移动一个单位,每次移动询问一次该窗口中的最大值和最小值,最后输出答案 题目 ...

  4. 【题解】洛谷P4145 花神游历各国(线段树)

    洛谷P4145:https://www.luogu.org/problemnew/show/P4145 思路 这道题的重点在于sqrt(1)=1 一个限制条件 与正常线段树不同的是区间修改为开方 那么 ...

  5. 洛谷P3960 列队(动态开节点线段树)

    题意 题目链接 Sol 看不懂splay..,看不懂树状数组... 只会暴力动态开节点线段树 观察之后不难发现,我们对于行和列需要支持的操作都是相同的:找到第\(k\)大的元素并删除,在末尾插入一个元 ...

  6. LOJ 2312(洛谷 3733) 「HAOI2017」八纵八横——线段树分治+线性基+bitset

    题目:https://loj.ac/problem/2312 https://www.luogu.org/problemnew/show/P3733 原本以为要线段树分治+LCT,查了查发现环上的值直 ...

  7. [AT2442]フェーン現象 (Foehn Phenomena)

    题目大意:一个数组$A$和$P$,若$A_i>A_{i+1}$,$P_{i+1}=P_i+(A_i-A_{i+1})\times S$,否则$P_{i+1}=P_i-(A_{i+1}-A_i)\ ...

  8. 洛谷 P4246 [SHOI2008]堵塞的交通 线段树

    题目描述 有一天,由于某种穿越现象作用,你来到了传说中的小人国.小人国的布局非常奇特,整个国家的交通系统可以被看成是一个222行 C'>CCC列的矩形网格,网格上的每个点代表一个城市,相邻的城市 ...

  9. 洛谷P4839 P哥的桶 线段树+线性基

    传送门 题意:N个操作,第K个桶放一个X,查询L到R区间的桶任意数的异或最大值. P哥时不时地会找新女朋友,并把新找的女朋友丢进某个桶里面.我们用 1 k x 来表示P哥找了一个颜值为x的女朋友,并且 ...

  10. 洛谷P4837 养殖呆河马(线段树)

    题目描述 作为养殖场的大佬,阳阳引进了养殖呆河马的技术,而且她有一个团队来研究呆河马的养殖技巧来制定养殖规划,并在今年购入了 1 只呆河马.她们制定了从今年(即第 0 年)到第 n−1年的养殖呆河马的 ...

最新文章

  1. 每日一皮:没想到现实比赛里也能和拳皇一样蓄力攻击...
  2. JAVA BIO 服务器与客户端实现示例
  3. 出现次数最多的数-CCF模拟
  4. Android 环境搭建的错误解决方案
  5. python os 文件操作 chdir(path)方法
  6. Renascence架构原理——最优化算法
  7. AmazeUI基本样式
  8. CentOS 5 CentOS 6 启动流程及关键步骤
  9. 苹果MacOS系统上安装第三方驱动失败/无效
  10. revman软件_meta分析概述及RevMan软件安装教程
  11. win10 安装tensorflow-gpu
  12. 2018福大软工实践第七次作业
  13. 几款用于防破解的软件
  14. Linux应用开发自学之路
  15. 【SDOI2008】Sue的小球
  16. 跟着“Science”做张24h 南丁格尔玫瑰图吧
  17. MSDC 4.3 接口规范(19)
  18. Unity Sunny Land开发流程(二)
  19. 企业邮箱申请流程有哪些?公司邮箱的优势有哪些?
  20. 来自Bitly的USA.gov数据,数据分析案例

热门文章

  1. Mysql_基本操作命令
  2. java 百度地图_Java web实现百度地图导航
  3. [技术博客]使用微信机器人监听群内招聘信息的过程及遇到的问题
  4. 为爱限定、将爱保鲜|初巧鲜炖燕窝献礼七夕
  5. VMware设置共享文件夹之后/mnt/hgfs里面什么也没有
  6. 中国式焦虑,都是比出来的!
  7. 简单又好用的5款小工具软件
  8. 高德车载导航Android平台DR回放技术方案
  9. ExtJs6 修改store里面数据grid单元格左上角会有红点标签的去掉方法
  10. 如何建立高质量团队-《克服团队协作的五种障碍》笔记与心得