2752: [HAOI2012]高速公路(road)

特斯拉Model 3 BMS主控板拆解:从硬件设计到热管理策略的实战解析 本文深度拆解特斯拉Model 3的BMS主控板,解析其硬件架构与热管理协同策略。文章聚焦于主控板的分区布局、双核MCU的智慧分工,以及从被动监控到主动干预的热管理范式转变,揭示了特斯拉在高压安全、实时控制与系统级工程思维上的设计哲学。 阅读详情

题目链接

题目大意:给出一个n个结点,n-1条边的链,边权初始为0;
m次操作,操作有两种:
1. C:区间[l,r]的边权加上或减去一个数;
2. Q:查询区间随机取不相同两点之间的期望长度;

题解:根据期望的定义直接计算,总状态数共 (r−l+1)∗(r−l)2 种

记 v[i] 为 (i,i+1) 的边权,其产生贡献的条件为同时选了其左边(包括i本身)和右边的点,即 v[i]∗(i−l+1)∗(r−i)
展开得到 v[i]∗(r−l∗r)+v[i]∗i∗(l+r−1)−v[i]∗i2

所以只需要维护 ∑v[i],∑v[i]∗i,∑v[i]∗i∗i ,用线段树可以很方便地维护

注意修改的时候也是r-1

我的收获:线段树大法~~暴力算期望

#include <bits/stdc++.h>
using namespace std;  

#define ll long long  
#define N 100005 

int n,q;
ll si[N],sii[N];//前缀和

struct node{
    ll a1,a2,a3;
    node(){}
    node(ll _,ll __,ll ___){a1=_,a2=__,a3=___;}
};

node operator +(node x,node y){return node(x.a1+y.a1,x.a2+y.a2,x.a3+y.a3);}

struct SegmentTree{

    #define ls x<<1
    #define rs x<<1|1
    #define lson l,m,x<<1
    #define rson m+1,r,x<<1|1
    #define root 1,n,1

    ll len[N<<2],gas[N<<2],kel[N<<2];//for update 
    ll add[N<<2];//lazy-tag
    ll sum[N<<2],sui[N<<2],ali[N<<2];//sum(a_i),sum(a_i*i),sum(a_i*i*i) 

    inline void matain(int x,long long v){add[x]+=v,sum[x]+=v*len[x];sui[x]+=v*gas[x];ali[x]+=v*kel[x];}

    inline void pushdown(int x)
    {
        if(!add[x]) return ;
        matain(ls,add[x]),matain(rs,add[x]);
        add[x]=0;
    }

    inline void pushup(int x){sum[x]=sum[ls]+sum[rs],sui[x]=sui[ls]+sui[rs],ali[x]=ali[ls]+ali[rs];}

    void build(int l,int r,int x)
    {
        len[x]=r-l+1;
        gas[x]=si[r]-si[l-1];
        kel[x]=sii[r]-sii[l-1];
        if(l==r) return ;
        int m=l+r>>1;
        build(lson),build(rson);
    }

    void modify(int L,int R,int v,int l,int r,int x)
    {
        if(L<=l&&r<=R){matain(x,v);return ;}
        pushdown(x);
        int m=l+r>>1;
        if(L<=m) modify(L,R,v,lson);
        if(R>m) modify(L,R,v,rson);
        pushup(x);
    }

    node query(int L,int R,int l,int r,int x)
    {
        if(L<=l&&r<=R) return node(sum[x],sui[x],ali[x]);
        pushdown(x);
        int m=l+r>>1;
        if(L<=m&&R>m) return query(L,R,lson)+query(L,R,rson);
        if(L<=m) return query(L,R,lson);
        if(R>m) return query(L,R,rson);
    }
}T;

void work()
{
    int x,y,z;char opt[10];
    while(q--){
        scanf("%s%d%d",opt,&x,&y);
        if(opt[0]=='C') scanf("%d",&z),T.modify(x,y-1,z,root);
        else{
            node ans=T.query(x,y-1,root);
            ll fz=ans.a1*(y-1ll*x*y)+ans.a2*(x+y-1)-ans.a3;
            ll fm=1ll*(y-x+1)*(y-x)/2;
            ll g=__gcd(fz,fm);
            printf("%lld/%lld\n",fz/g,fm/g);
        }
    }
}

void init()
{
    scanf("%d%d",&n,&q);
    for(int i=1;i<=n;i++) si[i]=si[i-1]+i,sii[i]=sii[i-1]+1ll*i*i;
    T.build(root);
}

int main()
{  
    init(); 
    work();
    return 0;  
}
VSCode搭配Keil开发STM32:从环境配置到代码跳转全流程(避坑指南) 本文详细介绍了如何使用VSCode搭配Keil进行STM32开发,从环境配置到代码跳转的全流程指南。通过安装必备插件和正确配置项目文件,开发者可以在VSCode中享受现代编辑器的便捷功能,同时保留Keil的编译调试能力,提升嵌入式开发效率。 阅读详情

相关推荐

ArcGIS小白必看:5分钟搞定面要素转点要素+自动计算经纬度坐标(附常见报错解决方案)

本文为ArcGIS新手详细解析了面要素转点要素并自动计算经纬度坐标的完整流程。核心在于正确理解和使用坐标系,并掌握ArcToolbox中的“要素转点”等工具。文章深入剖析了常见报错(如坐标系未定义、字段计算失败)的根源,提供了从基础操作到Python脚本自动化的实战解决方案,确保数据转换的准确与高效。

weixin_29284885的博客 575

轮趣驱控一体无刷电机二维云台:为K230视觉AI开发提供即插即用运动平台

运动控制是机器人、自动化设备和智能视觉系统的核心基础,它通过精确的算法驱动执行机构,实现对物理世界的精准交互。其技术原理通常涉及电机驱动、闭环反馈和控制算法(如PID)的协同工作,旨在将数字指令转化为平滑、准确的机械运动。在工程实践中,集成化的驱控一体方案正成为趋势,它能显著降低开发门槛,提升系统可靠性。这类方案尤其适用于需要将视觉感知与物理运动紧密结合的应用场景,例如物体跟踪、自动巡检和机器人交互。本文聚焦的轮趣二维电动云台,正是此类方案的典型代表。它集成了无刷电机和FOC驱动算法,并预置了与K230视觉

weixin_30715523的博客 395

ZYNQ裸机LWIP双网口实现

文章目录前言一、LWIP双网口二、使用步骤1.部分说明2.部分代码总结 前言 一、LWIP双网口 由于项目需要多通讯口,查阅资料发现lwip支持多网口操作。于是,就开搞了。 二、使用步骤 1.部分说明 利用xemac_add函数在网卡链表中添加一个网卡,即使用netif块重复xemac_add操作。 先用轮询的方式实现双网口,后期修改为中断模式 2.部分代码 导入官方例程LWip echo server, 修改main函数,增加一个netif块 #if LWIP_IPV6==0 #if L..

weixin_35865280的博客 1万+

【HAOI2012】高速公路

题目描述 Y901高速公路是一条重要的交通纽带,政府部门建设初期的投入以及使用期间的养护费用都不低,因此政府在这条高速公路上设立了许多收费站。 Y901高速公路是一条由N-1段路以及N个收费站组成的东西向的链,我们按照由西向东的顺序将收费站依次编号为1~N,从收费站i行驶到i+1(或从i+1行驶到i)需要收取Vi的费用。高速路刚建成时所有的路段都是免费的。 政府部门根据实际情况,会不定期地对...

weixin_30251829的博客 143

Python表白代码:“ 星光月夜烟花皆归你,我也归你”(满天烟花盛开、附番外玫瑰)

导语 "慢品人间烟火色 闲观人间岁月长" ———致自己​​​ ​ ???? 遇见我以后,我们的故事就开始了,愿你历经山河,仍觉得人间值得????。 ​ 星光月夜烟花皆归你,我也归你。关于烟花????大家都​知道多少?有多少表白故事情节都发生在烟 花下,想必木木子????不用说大家也知道叭~​​ 今天这则小短文就是关于烟花的故事!你准备好跟我一起进入烟花的世界了嘛? ​正文 “每一句文案,都有一个故事,你仔细听” ​ 1)环境安装???? 准备好:.

顾木子吖的博客 5万+

图相似度模型(论文篇)

图相似度模型

weixin_43702653的博客 5748

[HAOI2012]高速公路(road)

Description Y901高速公路是一条重要的交通纽带,政府部门建设初期的投入以及使用期间的养护费用都不低,因此政府在这条高速公路上设立了许多收费站。 Y901高速公路是一条由N−1N-1段路以及NN个收费站组成的东西向的链,我们按照由西向东的顺序将收费站依次编号为1−N1-N,从收费站ii行驶到i+1i+1(或从i+1i+1行驶到ii)需要收取ViV_i的费用。高速路刚建成时所有的路段都

Canopus 437

SAP传输请求全流程详解:从SE10创建到STMS跨环境部署(附常见错误排查)

本文详细解析了SAP传输请求的全流程,从SE10创建到STMS跨环境部署,并提供了常见错误排查方法。涵盖工作台请求、定制请求等类型,以及STMS传输原理和实战操作技巧,帮助用户高效管理SAP系统变更。

weixin_29214335的博客 143

BZOJ 2752 [HAOI2012]高速公路(road)【线段树

一只又水又裸的线段树 然而flaze太naive于是重写了三次【【跪着望天 前两次算法比较naive……总之就是要求一波前缀和的前缀和,于是ver1写得丑哭,连亲妈flaze都看不下去只好重写,,第二次欢快地除了样例啥都不能过,胡搞乱搞调了半天发现自己前缀和的前缀和求跪了【望天】于是开了一晚上夜车又睡了一早上终于写了ver3……不禁感慨数学大法好…… 目测一下就发现每条道路对答案的贡献就是

Flaze_的博客 1096

【Claude Code】Not logged in 未登录错误解决方案 + /login 认证路径

Claude Code 启动时提示 Not logged in 表示当前会话缺少有效凭证。本文从环境变量、API Key 配置、CI 自动化凭证脚本和系统时钟四个维度,提供完整的认证排查流程与修复方案。

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 894

最新Anaconda3的安装配置及使用教程(详细过程)

最新Anaconda3安装使用Anaconda下载方式一:官网下载方式二:清华镜像下载(推荐)Anaconda安装 Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项 Anaconda + Jupyter 基本上已经是大部分机器学习/数据分析等开发者标配的开发环境, 不多介绍,直接进去正题: Anaconda下载 方式一:官网下载 下载地址传送门: 官网首页:https://www.anaconda.com/ 官网下载页:https://www

HowieXue 薛永浩的博客 34万+

bzoj 2752 [HAOI2012]高速公路(road) 线段树

2752: [HAOI2012]高速公路(road) Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 1557  Solved: 597 Description Y901高速公路是一条重要的交通纽带,政府部门建设初期的投入以及使用期间的养护费用都不低,因此政府在这条高速公路上设立了许多收费站。 Y901高速公路是一条由N-1段路以

hzoi_wangxh的博客 383

025、Zephyr RTOS设备树覆盖与修改

本文分享了在Zephyr RTOS中使用设备树覆盖(overlay)的实战经验。作者通过一个工业数据采集项目中GPIO无法拉高的调试案例,揭示了设备树覆盖的"叠加"本质而非简单替换。文章详细介绍了覆盖文件的正确编写方式,包括节点引用、pinctrl配置等技巧,并总结了常见陷阱如状态设置不完整、别名冲突等问题。特别强调了条件覆盖的用法和调试方法,最后提出了覆盖文件管理的五项实用原则,强调设备树覆盖是硬件与软件之间的重要契约,需要谨慎对待。全文以实际项目为背景,提供了可操作性强的技术建议。

m0_50546716的博客 33

【BZOJ 2752】 [HAOI2012]高速公路(road)

计数问题+线段树~

Regina8023 1822

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Bzoj2752: [HAOI2012]高速公路(road)

Bzoj2752: [HAOI2012]高速公路(road) 比较恶心的一道题,关键在于r的加1减1搞得很乱。所以以下的r都是原题给出的r,并没有减1。 其实这道题是一个假的期望,答案就是区间的所有子区间和除以$C_{len}^2$,然后就考虑如何求所有子区间和, 直接暴力枚举肯定不行,可以像‘树上染色’一样考虑每个点的贡献,对于点i,他的贡献为$s[i]*(i-l+1)*(r-i)$其实就...

weixin_30608503的博客 140

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

bzoj2752: [HAOI2012]高速公路(road)

题目链接 bzoj2752: [HAOI2012]高速公路(road) 题解 首先将每次修改和询问的r减1,把线段权值转化为点权值。 然后使用总和/总次数的方式计算期望。 第i个点(l≤i≤r),它被选中的次数为\((i−l+1)∗(r−i+1)\)所以所求即为 线段树维护\(v[i]∗i∗i、v[i]∗i、v[i]\)的区间和即可。 代码 #include<bits/stdc+...

agtvo48266的专栏 114

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Bzoj 2752: [HAOI2012]高速公路(road)

传送门: http://www.lydsy.com/JudgeOnline/problem.php?id=2752 题面:   Y901高速公路是一条重要的交通纽带,政府部门建设初期的投入以及使用期间的养护费用都不低,因此政府在这条高速公路上设立了许多收费站。 Y901高速公路是一条由 N−1N-1 段路以及 NN 个收费站组成的东西向的链,我们按照由西向东的顺序将收费站依次编号为 11

MintGreen 493

BZOJ 2752: [HAOI2012]高速公路(road)

DescriptionY901高速公路是一条重要的交通纽带,政府部门建设初期的投入以及使用期间的养护费用都不低,因此政府在这条高速公路上设立了许多收费站。 Y901高速公路是一条由N-1段路以及N个收费站组成的东西向的链,我们按照由西向东的顺序将收费站依次编号为1~N,从收费站i行驶到i+1(或从i+1行驶到i)需要收取Vi的费用。高速路刚建成时所有的路段都是免费的。 政府部门根据实际情况,会不

ypxrain的博客 375

BZOJ2752 [HAOI2012]高速公路(road)

3091双倍经验 把3091代码粘过来然后边权转点权就好了 ……知识点分到LCT里是不是不太好啊 #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #

neither_nor 808

BZOJ2752: [HAOI2012]高速公路(road)

2752: [HAOI2012]高速公路(road) Time Limit: 20 Sec Memory Limit: 128 MB Submit: 1734 Solved: 684 [Submit][Status][Discuss] Description Y901高速公路是一条重要的交通纽带,政府部门建设初期的投入以及使用期间的养护费用都不低,因此政府在这条高速公路上设立了许多收费站...

weixin_30475039的博客 79

bzoj 2752: [HAOI2012]高速公路(road) 线段树

题意有一条链,要求资磁两个操作 C l r v 表示将第l个收费站到第r个收费站之间的所有道路的通行费全部增加v Q l r 表示对于给定的l,r,要求回答对于给定的l,r(l < r),在第l个到第r个收费站里等概率随机取出两个不同的收费站a和b,那么从a行驶到b将期望花费多少费用呢? n,q<=100000分析把边变成点,那么答案就是∑val[i]∗(i−l+1)∗(r−i+1)(r−

beginend 502

BZOJ 2752 [HAOI2012]高速公路(road)

题解:线段树 一开始维护错区间和,然后GG,不要凭感觉 没把调试用的函数注释掉T了一发 #include<iostream> #include<cstdio> #include<cstring> #define lo now<<1 #define ro now<<1|1 using namespace std...

auu55357的博客 117

bzoj2752 [HAOI2012]高速公路(road)

线段树好题。 很容易求出要维护的东西的公式,给线段标号,设x,y为左右线段标号,那么其中出现的总和就是Σc[i]*((i-x)*(y-i)+(y-x)),拆开就是Σ(y-x-y*x)*c[i]+(x+y)*i*c[i]-i2*c[i]. 于是只要维护∑c[i],∑i*c[i],∑i2*c[i]就行了。 我一开始想偷懒写bit发现用了bit以后维护的和会升至3维,(⊙o⊙)…三维求和...

dengronggua5662的博客 118

bzoj2752 [HAOI2012]高速公路(road) 线段树

Description Y901高速公路是一条重要的交通纽带,政府部门建设初期的投入以及使用期间的养护费用都不低,因此政府在这条高速公路上设立了许多收费站。 Y901高速公路是一条由N-1段路以及N个收费站组成的东西向的链,我们按照由西向东的顺序将收费站依次编号为1~N,从收费站i行驶到i+1(或从i+1行驶到i)需要收取Vi的费用。高速路刚建成时所有的路段都是免费的。 政府部门根据实际...

olahiuj的博客 226
上一篇: 2938: [Poi2000]病毒
下一篇: 2850: 巧克力王国
Mmh2000
博客等级 码龄10年 11粉丝 541原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值