【AtCoder2442】フェーン現象 (Foehn Phenomena)
题面
分析
这道题其实是差分模板qvq 区间修改 单点查询
而且题面也疯狂暗示,相邻两点海拔差,用差分简直是按照出题人意思来的,而且人性化的是n+1个点刚好n个区间,查询也只用查询第n点。
同时,知道海拔差的情况下是可以算出温度的,所以本质上这个差分数组合理也是因为可以通过前缀和倒推出温度。
所以对于每个修改,其实只有一头一尾两个点受了影响,即l-1和l的高度差影响温度和r和r+1的高度差影响温度,中间相对高度是不变的,不影响温度。
就修改这两个点就OK了.因为查询的是第n个点,其实答案可以一直累着走,修改区间的同时更新答案
代码
- #include<bits/stdc++.h>
- using namespace std;
- #define N 200020
- #define ll long long
- ll n,q,s,t,x,l,r,v,ans,last;
- ll c[N];
- template<class T>
- inline void read(T &x)
- {
- x=0;ll f=1;static char c=getchar();
- while(c<'0'||c>'9') {if(c=='-')f=-1;c=getchar();}
- while(c>='0'&&c<='9'){x=x*10+c-'0',c=getchar();}
- x*=f;
- }
- inline ll cal(ll x){return x>0?-(x*s):-(x*t);}
- int main()
- {
- read(n);read(q);read(s);read(t);
- for(ll i=0;i<=n;i++)
- {
- read(x);
- c[i]=x-last;
- last=x;ans+=cal(c[i]);
- }
- for(ll i=1;i<=q;i++)
- {
- read(l),read(r),read(v);
- ans-=cal(c[l]),c[l]+=v,ans+=cal(c[l]);
- if(r<n)ans-=cal(c[r+1]),c[r+1]-=v,ans+=cal(c[r+1]);
- printf("%lld\n",ans);
- }
- return 0;
- }
转载于:https://www.cnblogs.com/NSD-email0820/p/9852310.html
【AtCoder2442】フェーン現象 (Foehn Phenomena)相关推荐
- 洛谷 AT2442 フェーン現象 (Foehn Phenomena)
洛谷 AT2442 フェーン現象 (Foehn Phenomena) 题目链接 题意: 自己看 思路: 当前地点温度其实只和前一个地点有关,可以考虑差分,每次变动时先减去原地点产生的影响,在加上变动后 ...
- [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)\ ...
- フェーン現象 (Foehn Phenomena)
题意翻译 题目简述 你知道N+1N+1个地点的海拔A_iAi,编号为0 \dots N0-N,有风从00吹向NN,想让你求出地点NN的风的温度. 保证A_0=0A0=0 规则: 如果A_i=A_{ ...
- AT2442 フェーン現象 (Foehn Phenomena)
题目地址 原题地址 题解 其实就是一个区间加,单点查询的问题 当然可以线段树/树状数组做,但是这两个做法要分类讨论所以代码会比较多 我们考虑一种更简便的做法 差分! 因为温度只和海拔差有关,这相当于题 ...
- 【洛谷AT2442】フェーン現象(Foehn Phenomena)【线段树】
linklinklink 分析: 都说是裸差分 那就线段树做( 海拔的上升与下降 就区间修改 答案就单点查询 具体的就跟题意模拟了 然后注意a0a_0a0是000 那n,x,yn,x,yn,x,y啥 ...
- Foehn Phenomena
题目链接 解题思路:利用差分数组,此时得到每两个元素的差值,从首位置加到当前节点可以得到当前节点对应的元素.差分数组可以高效的改变区间值.当同时给[ l, r] 的元素 加x 时, 只需将差分数组 l ...
- 2019.2-2019.3 TO-DO LIST
DP P2723 丑数 Humble Numbers(完成时间:2019.3.1) P2725 邮票 Stamps(完成时间:2019.3.1) P1021 邮票面值设计(完成时间:2019.3.1) ...
- 一些根本不用数据结构的题。。(积木大赛、焚风现象)
我发现我学数据结构学傻啦..看题和数据范围就会想到些数据结构... 春春幼儿园举办了一年一度的"积木大赛".今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木 ...
- 纯php实现定时器任务,純PHP實現定時器任務(Timer)
定時器任務,在WEB應用比較常見,如何使用PHP實現定時器任務,大致有兩種方案:1)使用Crontab命令,寫一個shell腳本,在腳本中調用PHP文件,然后定期執行該腳本:2)配合使用ignore_ ...
最新文章
- centos7 df 命令卡死
- CentOs7中安装sonarQube服务系列------2.安装postgresSql数据库
- Caffe学习笔记3——制作并训练自己的数据集
- js判断是安卓手机还是ios
- Android 多状态加载布局的开发 Tips
- php Pthread 多线程 (二) Worker和Threaded
- 从17 个方面对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ 等分布式消息队列
- 格式化字符串漏洞利用 四、利用的变体
- 基于python的性能负载测试Locust-6-脚本编写之使用HTTP client
- Python入门--with语句
- java kv对象_java入门之——对象转型
- 【嵌入式模块】ESP8266完整教程
- windows 密码过期_为什么我的密码在Windows中过期?
- 凯利公式和复利公式,与概率和时间为友
- python去除图片背景_Python 图片去除背景
- java中xom是啥包?_XML问题,XOM Java XML API
- 使用google的zxing制作二维码
- TWaver HTML5 高性能拓扑
- USR-TCP232-E2串口转以太网模块的使用方法
- Linux 网络设置(ifconfig、route、traceroute、netstat、ss、nslookup、dig、ping状态返回分析)
热门文章
- 佳能mg3150pixma_升级到佳能Pixma MP500多功能喷墨打印机
- 【HTML学习】表格相关(01)- 增强版
- HTML表格(二)---成绩单
- 前端导出excel插件vue-json-exce
- 汇集YOLO系列经典和前沿算法,实现高精度实时检测!
- 如何在 MacOS Monterey 菜单栏上显示电池百分比
- 【Leetcode刷题】35.搜索插入位置
- wifi信号放大器除了易拉罐,还有免费wifi软件
- 福建师范大学计算机科学专业,福建师范大学计算机科学与技术专业在哪个校区...
- 车速与档位匹配关系_车速与档位的关系汇总