hdu 4348 To the moon (带标记主席树)

Palantir的Ontology:从静态知识图谱到动态业务引擎的跃迁 本文探讨了Palantir的Ontology技术如何将静态知识图谱升级为动态业务引擎。通过引入函数和行动作为核心元素,Ontology实现了业务逻辑的自动化响应与执行,显著提升物流、能源等领域的运营效率。文章详细解析了其混合存储引擎、状态监听网络等关键技术设计,并对比展示了传统架构与Ontology架构的业务价值差异。 阅读详情

题意:

思路:

    每次修改,就新开一个树,如果大小是l到r包含叶子节点的一颗树自然是不可以的,那么我们只能保存包含他们的上面的节点,并且lazy也要同步更新(这一步和线段树很类似),但是,我们并不能pushdown,因为pushdown会直接导致空间炸掉。
    那么我们为了能够用到lazy,那么我们就可以将路径上的lazy加起来,最后和区间大小相乘,就是正确的最终结果

错误及反思:

代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define lson l,m
#define rson m+1,r
const int N = 100100;
long long sum[N*30];
int ls[N*30],rs[N*30],root[N],arr[N],lazy[N*30];
int n,q,cnt,t;

int build(int l,int r){
    int rt=++cnt;
    sum[rt]=arr[l];ls[rt]=rt;rs[rt]=rt;lazy[rt]=0;
    if(l==r) return rt;
    int m=l+r>>1;
    ls[rt]=build(lson); rs[rt]=build(rson);
    sum[rt]=sum[ls[rt]]+sum[rs[rt]];
    return rt;
}

int update(int pre,int L,int R,int val,int l,int r){
    int rt=++cnt;
    sum[rt]=sum[pre];ls[rt]=ls[pre];rs[rt]=rs[pre];lazy[rt]=lazy[pre];
    if(L<=l&&R>=r) {lazy[rt]+=val;sum[rt]+=1ll*(r-l+1)*val; return rt;}
    int m=l+r>>1;
    if(m>=L) ls[rt]=update(ls[pre],L,R,val,lson);
    if(m<R) rs[rt]=update(rs[pre],L,R,val,rson);
    sum[rt]=sum[ls[rt]]+sum[rs[rt]]+1ll*lazy[rt]*(r-l+1);
    return rt;
}

long long query(int tim,int L,int R,int l,int r,long long tp){
    if(L<=l&&R>=r) return sum[tim]+tp*(r-l+1);
    int m=(l+r)/2;
    long long ans=0;
    if(m>=L) ans+=query(ls[tim],L,R,lson,tp+lazy[tim]);
    if(m<R) ans+=query(rs[tim],L,R,rson,tp+lazy[tim]);
    return ans;
}

int main(){
    while(scanf("%d%d",&n,&q)!=EOF){
        cnt=1; t=0;
        for(int i=1;i<=n;i++)
            scanf("%d",&arr[i]);
        root[0]=build(1,n);
        while(q--){
            char ta[10];
            scanf("%s",ta);
            if(ta[0]=='Q'){
                int l,r; scanf("%d%d",&l,&r);
                printf("%lld\n",query(root[t],l,r,1,n,0));
            }
            else if(ta[0]=='C'){
                int l,r,d; scanf("%d%d%d",&l,&r,&d);
                root[t+1]=update(root[t],l,r,d,1,n);
                t++;
            }
            else if(ta[0]=='H'){
                int l,r,tb; scanf("%d%d%d",&l,&r,&tb);
                printf("%lld\n",query(root[tb],l,r,1,n,0));
            }
            else{
                int tb; scanf("%d",&tb);
                if(t!=tb){t=tb; cnt=root[t+1]-1;}
            }
        }
    }
}
基于全局和局部接受性因果特征的广义学习模型,用于在线增量机械故障诊断 本文提出了一种**因果广义学习模型(CBLM)**,用于在线增量机械故障诊断。该模型结合了**全局因果特征**(时域、频域、故障特征频率均值)和**多尺度局部因果特征**(通过扩张卷积提取),构建了一个具有**增量学习能力**的广泛学习系统(BLS)。CBLM支持**结构增量学习**(增加增强节点)和**样本增量学习**(动态更新权重),无需重新训练整个模型,显著提高了计算效率和诊断精度。在两个滚动轴承数据集上的实验表明,CBLM在诊断准确性和训练时间上均优于传统深度学习模型,适用于在线实时故障诊断。 阅读详情

相关推荐

HALCON深度学习模型部署新选择:一份详细的OpenVINO 2021.4 LTS集成与配置避坑指南

本文详细介绍了如何将HALCON深度学习模型与OpenVINO 2021.4 LTS集成,提供环境配置、硬件加速优化及故障排除的实用指南。特别针对Intel独立显卡的AI加速器接口进行优化,帮助机器视觉工程师提升AI推理效率,适用于工业检测等高要求场景。

weixin_42531779的博客 238

HDU - 4348To the moon——主席树+区间修改

HDU - 4348To the moon 【题目描述】 【题目分析】 题目中说明每次更新后时间都会加1,而且还会需要查询以前的区间,还会需要返回以前的时间,所以是很裸的主席树。区间查询的话我们同样需要用到lazy标记 通过这道题我发现线段树的操作还是很灵活的 借鉴大佬的代码 【AC代码】 #include<cstdio> #include<cstring> #inclu...

T_T233333333的博客 360

科研绘图(二):R 语言实现小鼠脑图谱 3D 渲染,附完整代码与数据获取指南

在生物医学科研中,脑区的 3D 可视化是呈现实验结果、解析脑结构功能的重要手段。R 语言凭借rgl和Rvcg等工具包,可高效实现小鼠全脑及特定脑区(如 CA1 区)的立体渲染,且代码可复用性强。本文将从环境搭建、数据准备、代码实现到结果导出,手把手带你完成小鼠脑图谱 3D 绘图,小白也能快速上手!

good_rrrrr的博客 2023

【动态主席树,带lazy标记的区间更新求和】HDU - 4348 To the moon

【动态主席树,带lazy标记的区间更新求和】HDU - 4348 To the moon 【vj链接】 题目 Background To The Moon is a independent game released in November 2011, it is a role-playing adventure game powered by RPG Maker. The ...

xuziling_的博客 341

开关电源补偿设计避坑手册:为什么你的Buck电路总在轻载时振荡?

本文深入剖析了Buck电路在轻载时发生振荡的根本原因,并提供了专业的补偿设计避坑指南。文章指出,轻载下输出滤波器Q值飙升、DCM模式切换导致的小信号模型剧变是主要诱因,并详细对比了Type II与Type III补偿网络在宽负载范围内的表现差异。通过结合LTspice仿真与工程实践,指导工程师如何优化补偿环路设计,确保电源从满载到空载的全程稳定。

hadoop5ranger的博客 673

Jetson工业级应用指南:用Orin NX 16GB打造多摄像头AI质检系统

本文详细介绍了如何利用NVIDIA Jetson Orin NX 16GB构建高效的多摄像头AI质检系统,涵盖硬件选型、软件优化及产线部署全流程。通过100 TOPS的AI算力和多路视频处理能力,Orin NX在工业4.0时代展现出卓越的实时缺陷检测性能,特别适合嵌入式AI应用场景。

Pepper的专栏 307

HDU 4348 To the moon

HDU 4348 To the moon Background To The Moon is a independent game released in November 2011, it is a role-playing adventure game powered by RPG Maker. The premise of To The Moon is based around a technology that allows us to permanently reconstruct the mem

leihao-lester 209

TSMaster二次开发实战:如何用Python搞定CAN/CANFD事件回调(附完整代码)

本文详细介绍了如何利用Python进行TSMaster二次开发,实现CAN/CANFD事件回调功能。通过实战代码演示,讲解了预发送与后处理回调的核心区别、注册流程、资源管理及性能优化技巧,帮助工程师高效构建自动化测试与数据监控应用。

star的博客 668

【HDU4348】 To the moon | 主席树、永久化标记

经典题目拿来练手 题目大意: 给出一个序列,你要维护四种操作: 1.新增一个版本,这个版本在以前版本的基础上[l,r]都增加d 2.询问当前版本[l,r]的和 3.询问t版本[l,r]的和 4.时间回溯到t版本 题目思路: 与普通主席树不一样的是,每次修改不是单纯的对一个点增加了,而是对一个区间进行增加 其余操作与普通线段树一样是正常进行的 这里看一下怎么对上一个版本的复制后,进行修改 区间修改?那就增加一个懒惰标记,当然这个懒惰标记是不需要下传的,如果下传的 空间复杂度会爆掉 所以

一只酷酷光儿的博客 497

AI大模型应用性能核心指标:TTFT 与 TPOT 详解

这两个指标专门衡量大模型流式响应性能,是评估用户体验的关键指标。· 是什么:从请求到第一个输出的等待时间· 为什么重要:决定用户的第一印象和响应感知· 优化方向:模型加载、预处理、冷启动优化· 行业标准:最好<500ms,可接受<1.5s· 是什么:每个输出token的平均生成时间· 为什么重要:决定流式输出的流畅度和总完成时间· 优化方向:推理引擎、内存带宽、批处理优化· 行业标准:最好<50ms/token,可接受<100ms/token在Dify/大模型应用中的意义。

lovehu6686的博客 3946

ffmpeg中av_read_frame阻塞的原因与解决方案

最近用到ffmpeg,想要av_read_frame立即返回,但是看网上的博客,都没有详细的解说,那就自己看源码。 两种方法: 设置回调打断函数和设置超时 超时,但是如果只设置该参数,依然会在av_read_frame中阻塞, av_dict_set(&inputDic, "stimeout", "2*1000*1000", 0); // milliseconds //打断回调 m_avformatCtx->interrupt_callback.callback = interru

weixin_43360707的博客 1万+

HDU 4348 To the moon 主席树 + 区间更新

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4348 题意:给定长度为n的数组,有四种操作:C l r d把[l, r]内的元素全部加上d并把时间计数器加1,Q l r查询[l, r]内元素的和,H l r t查询t时刻[l, r]内元素的和,B t返回时刻t(保证只向前而不向后跳) 思路:跳回之前的某个状态,明显是可持久化数据结构,这题就是明显的

弱智就要多努力 1201

基于MATLAB的小波包分解(WPD)算法详解

本文详细介绍了基于MATLAB的小波包分解(WPD)算法。WPD作为信号处理领域的重要技术,继承并发展了小波分析的优点,通过正交镜像滤波器组将信号分解为不同频率子带,形成完整的二叉树结构。相比传统小波变换,WPD具有更精细的频带划分、自适应基选择能力和更高的灵活性,特别适合分析非平稳信号。文章系统阐述了WPD的数学原理、算法实现流程及其在机械故障诊断、生物医学信号处理等领域的应用。通过MATLAB代码示例展示了WPD的具体实现方法,并分析了不同参数设置对分解效果的影响,为工程实践提供了有价值的参考。

qq_42212808的博客 292

HDU4348 To the moon【主席树】

To the moonTo\ the\ moonTo the moon 可持久化线段树,主席树 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long LL; const int maxn =...

qq_43710979的博客 210

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【区间更新主席树/标记永久化】HDU - 4348 - To the moon

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4348 题意 C l r d:时间标记加一,区间[l,r]的数增加d Q l r:询问当前[l,r]的和 H l r t:询问t时刻,区间[l,r]的和 B t:回到时间t 题解 区间更新主席树模板题 区间更新线段树主要有两个写法:一是lazy标记下传,二是lazy标记永久化。 如果要对主席树里的...

Eliot的博客 535

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【HDU - 4348】To the moon(主席树,区间更新)

题干: Background To The Moon is a independent game released in November 2011, it is a role-playing adventure game powered by RPG Maker. The premise of To The Moon is based around a technology that al...

xuanweiace的博客 922

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

HDU4348 To The Moon <带修主席树>

【HDU4348】To The Moon Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description To The Moon is a independent game released in November 2011, it is a rol...

diwtwvs6045的博客 114

HDU 4348 To the moon(主席树区间更新)

题意:有几个操作,区间加个数,查询区间和,查询历史区间和,时间回退到过去某个时间,不能再回来。 做法:此题有很简单的离线做法,先保存每个时间点的询问,再利用一个栈,用普通线段树即可,更新一下就把更新的区间L,R,D放进栈,碰到回退操作的时候,先把所有这个时间点的询问给算出,再通过出栈做减法。因为回到过去后不能回到将来,所以这样做是没问题的。 在线做法就是利用主席树了。区间更新的时候必须要延迟更

glq007的acm的奋斗 2232

HDU - 4348 To the moon(主席树区间更新-标记永久化)

题目链接:点击查看 题目大意:给出一个初始时长度为 n 的序列,有 m 次操作,每种操作分为下列四种类型: C l r d:新建一个继承了前一个版本的数组,并将区间 [ l , r ] 内的数字都加上 d Q l r:访问最后一个版本的数组,[ l , r ] 内的区间和 H l r t:访问第 t 个版本的数组,[ l , r ] 内的区间和 B t:回溯到第 t 个版本 题目分析:如果不考虑变量 t ,也就是不同版本的数组所带来的影响,那么这就是线段树的一道经典区间修改和区间查询的题目,写一个

Falcon的博客 626

标准在线主席树 HDU - 4348【To the moon】

标准在线主席树 HDU - 4348【To the moon】 https://cn.vjudge.net/contest/304073#problem/G 题意 给定 n 个数和 m 次操作,起始时间为0,操作分为四种: Q x y —— 询问 [x, y] 区间当前时间节点的和 C x y z —— 把 [x, y] 区间里的所有数加上 z,当前时间节点 +1 H x y z —— 询问 [...

weixin_30706507的博客 165

蓝书(算法竞赛进阶指南)刷题记录——hdu4348 To the moon(主席树)

题目大意:给定一个长度为nnn的序列,要求支持以下操作mmm次: 1.格式C&ThinSpace;l&ThinSpace;r&ThinSpace;dC\,l\,r\,dClrd,表示给区间[l,r][l,r][l,r]加上ddd并给时刻ttt加111. 2.格式Q&ThinSpace;l&ThinSpace;rQ\,l\,rQlr,表示查询当前区间[l,r]...

hzk_cpp的博客 308

hdu4348 To the moon (可持久化线段树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4348 题目大意:给定含有n个数的序列,有以下四种操作 1.C l r d:表示对区间[l,r]中的数加上d,并且时间加1 2.Q l r:询问当前时间区间[l,r]的和 3.H l r t:询问时间t区间[l,r]的和 4.B t :时间回到t Sample Input 10 5 1 ...

weixin_30268071的博客 158

[HDU 4348]To the moon

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4348 大意 给定一个长为NNN的a[]a[]a[]数组,需要支持下列四种操作: 将a[l]a[l]a[l]~a[r]a[r]a[r]都增加ddd,同时使时间戳t+1t+1t+1 查询当前a[l]a[l]a[l]~a[r]a[r]a[r]的和 查询时间戳为tit_iti​(保证ti&lt;tt...

asdkjc的博客 241

[HDU4348]To the moon(主席树+标记永久化)

学可持久化treap的时候才发现自己竟然没写过需要标记下传的主席树,然而现在发现大部分操作都可以标记永久化,下传会增大占用空间。 这题一种写法是和普通的线段树一样标记下传,注意所有修改操作(包括put())都要新建点。于是MLE了。 1 #include<cstdio> 2 #include<algorithm> 3 #define lson...

weixin_30700099的博客 114

HDU 4348 To the moon(主席树区间修(加))

To the moon(戳我看题) 题意:给你一串序列,每次对它有四种操作, 1. 将l到r之间所有的数+d,同时时间戳+1。 2. 查询当前时间戳下l到r的所有数的总和。 3.查询时间戳d下的l到r的所有数的和。 4.将时间戳返回至t。 思路:涉及历史查询,一眼主席树的题目,关键的如何进行区间修改。 主席树与线段树不同之处就是 每一棵树是不能修改的,也就是不能够pushDown。那么能否...

Error Man 的博客 465

HDU-4348 To the moon (主席树)

题意:1e5个数,每次操作要么对区间所有数做加法,要么询问区间和,要么查询历史某时刻区间和,要么回到历史某时刻。

hmc0411的博客 541
上一篇: spoj cot Count on a tree (主席树)
下一篇: zoj 2112 Dynamic Rankings (主席树+树状数组)
Roll_Keyboard
博客等级 码龄9年 10粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值