bzoj2752 高速公路
//Serene
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<cmath>
using namespace std;
const int maxn=1e5+10;
int n,m;long long aa,ff;char cc;
long long read() {aa=0;cc=getchar();ff=1;while(cc<'0'||cc>'9') {if(cc=='-') ff=-1;cc=getchar();}while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa*ff;
}long long gcd(long long x,long long y) {return y==0? x:gcd(y,x%y);
}struct Node{long long l,r,pf,yc,lc,laz;
}node[4*maxn];void bld(int pos,long long l,long long r) {node[pos].l=l;node[pos].r=r;if(l==r) return;long long mid=(node[pos].l+node[pos].r)>>1;bld(pos<<1,l,mid); bld(pos<<1|1,mid+1,r);
}long long f(long long t) {return t*(t+1)/2*(2*t+1)/3;
}void ud(int pos) {long long v=node[pos].laz;long long l=node[pos].l,r=node[pos].r;if(!v) return ;node[pos].lc+=(r-l+1)*v;node[pos].yc+=(l+r)*(r-l+1)/2*v;node[pos].pf+=(f(r)-f(l-1))*v;if(node[pos].l!=node[pos].r) {node[pos<<1].laz+=v;node[pos<<1|1].laz+=v;}node[pos].laz=0;
}void chge(int pos,long long l,long long r,long long v) {ud(pos);if(node[pos].l==l&&node[pos].r==r) {node[pos].laz+=v;return;}node[pos].lc+=(r-l+1)*v;node[pos].yc+=(l+r)*(r-l+1)/2*v;node[pos].pf+=(f(r)-f(l-1))*v;long long mid=(node[pos].l+node[pos].r)>>1;if(r<=mid) chge(pos<<1,l,r,v);else if(l>mid) chge(pos<<1|1,l,r,v);else chge(pos<<1,l,mid,v),chge(pos<<1|1,mid+1,r,v);
}long long q(int pos,long long l,long long r,long long x,long long y) {ud(pos);if(node[pos].l==l&&node[pos].r==r) return node[pos].lc*(y-y*x)+(y+x-1)*node[pos].yc-node[pos].pf;long long mid=(node[pos].l+node[pos].r)>>1;if(r<=mid) return q(pos<<1,l,r,x,y);else if(l>mid) return q(pos<<1|1,l,r,x,y);else return q(pos<<1,l,mid,x,y)+q(pos<<1|1,mid+1,r,x,y);
}int main() {n=read();m=read();long long l,r,ans,x,y;char op;bld(1,1,n-1);for(int i=1;i<=m;++i) {do op=getchar();while(op<'C'||op>'Q');l=read();r=read();if(op=='C') chge(1,l,r-1,read());else {ans=q(1,l,r-1,l,r);x=r-l+1;x=x*(x-1)/2;y=gcd(ans,x);ans/=y;x/=y;printf("%lld/%lld\n",ans,x);}}return 0;
}
转载于:https://www.cnblogs.com/Serene-shixinyi/p/7608519.html
bzoj2752 高速公路相关推荐
- [bzoj2752]高速公路 题解(线段树)
2752: [HAOI2012]高速公路(road) Time Limit: 20 Sec Memory Limit: 128 MB Submit: 2102 Solved: 887 [Submi ...
- BZOJ2752: [HAOI2012]高速公路(road)(线段树 期望)
Time Limit: 20 Sec Memory Limit: 128 MB Submit: 1820 Solved: 736 [Submit][Status][Discuss] Descrip ...
- 激光雷达模块支持提高高速公路速度
激光雷达模块支持提高高速公路速度 LiDAR module supports increased highway speed What's LIDAR? 自动驾驶技术的出现,无疑地扩大了激光成像探测和 ...
- javascript2秒后再执行_停车后5秒,车祸发生了!高速公路上你别再这样做了!| 一线微观...
近日,济青北线发生一起交通事故, 一辆行驶在超车道的商务车, 在匝道口附近突然刹车减速并停车, 不到5秒钟的时间, 后方一辆轿车躲闪不及, 在采取紧急避险措施之后, 还是撞上了这辆突然停车的商务车, ...
- 监管大屏系统_高速公路监管系统大屏可视化
0x00 项目背景 该项目用于高速公路监管.高速公路监管包括:高速公路的设备运行情况,设备维护情况,道路维护情况:交通流量分析,交通拥堵分析,拥堵溯源:事故分析,事件信息发布等. 0x01设计图 该项 ...
- 计算机网络分为两大阶段,【多选题】计算机网络的发展分为哪些阶段?()
A. 远程终端联机阶段 B. 计算机网络阶段 C. 计算机网络互联阶段 D. 信息高速公路阶段...
[多选题]计算机网络的发展分为哪些阶段?() A. 远程终端联机阶段 B. 计算机网络阶段 C. 计算机网络互联阶段 D. 信息高速公路阶段 更多相关问题 冰箱要定期清洗,清洗冰箱应用无腐蚀的消洁剂稀 ...
- 公路病害检测有了“智慧眼”,思谋AI“助力”广东省高速公路
近日,思谋科技与广东省某高速企业达成合作,智慧交通一体化平台病害检测模块已成熟落地,将使广东省高速公路病害检测进入高频率.高效率.智能化时代,以行业领先的AI技术助力智慧交通产业的发展. 近年来,我国 ...
- 揭晓高速公路场景下计算机视觉与交通的秘密
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 高速公路场景基于计算机视觉的车辆检测和流量统计 1.文章信息 <Vision-based veh ...
- 怎样用c语言写高速超速罚款标准,pta高速公路超速处罚(C语言)
习题3-2 高速公路超速处罚 按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款:若达到或超出50%,就要吊销驾驶证.请编写程序根据车速和限速自动判别对该机动车的处理. ...
最新文章
- UI设计APP图标设计规范介绍
- 神经网络RNN图解!
- RDKit | PD/PD-L1抑制活性 化合物指标分析
- c++ primer 5th 笔记:第二章
- 写给后端程序员的HTTP缓存原理介绍
- 20180826(01)-Java数据结构
- Groovy预览--文本处理
- RAID 01 和RAID 10的区别
- Nest入门教程 - 初识控制器
- QEMU KVM libvirt手册(4) – images
- openLayer加载KML,画出省及省下的边界区域,并设置样式、各种标注及提示信息
- MySQL索引(如何设计索引)
- 花书+吴恩达深度学习(二十)构建模型策略(超参数调试、监督预训练、无监督预训练)
- if __name__ == __main__如何正确理解
- LoadRunner测试Google Suggest
- 再也不学AJAX了!(一)AJAX概述
- 阅读笔记-游戏开发中的人工智能-第3章-移动模式
- 咸鱼CAD笔记—CAD基础操作
- win10系统服务器管理器,win10服务管理器,详细教您Win10服务管理器怎样打开
- 2008年国外最漂亮的50个网站欣赏
热门文章
- 荣耀 Magicbook Pro 锐龙版搭载深度操作系统桌面版
- .NET的Math.Round与数学无关。没关系!
- 暴露的全局方法_Dubbo源码解析实战 - 服务暴露原理
- eigrp配置实验_EIGRP负载均衡的实现
- python自动化测试环境搭建_selenium+python自动化测试之环境搭建
- java g1的并行_Java 11好用吗
- anki 新的卡片类型_用 Anki 建立高效复习错题体系
- linux遍历双向队列,双向循环队列
- 充值后的充值金额提交到账户金额中
- telnet 无法连接_Telnet 为什么不能以 root 身份登录系统?