hdu 4578 Transformation [线段树 区间更新]

从NTT Docomo芯片联盟看移动通信产业链的权力博弈与生态重构 在移动通信技术从3G向4G演进的关键时期,产业链上下游的权力关系与技术路线博弈成为行业焦点。基带芯片作为无线通信的核心组件,其技术自主与平台化能力直接影响着企业的全球竞争力。运营商通过深度定制与芯片级话语权掌控,试图强化对终端生态的控制,而芯片供应商则面临绑定单一客户与开拓全球市场的战略抉择。这种技术、商业与生态的三角关系,在LTE知识产权归属与全球标准适配的复杂背景下,凸显了本土优势与全球化竞争的内在矛盾。本文以NTT Docomo联合富士通等企业组建芯片联盟、瑞萨移动缺席这一事件为切入点,揭示了移动通信 阅读详情
题意:
一个长度为n的数列a,初始全为0,对这个数列进行m个操作,操作格式如下:
op x y c
op=1: a[i] += c, i=x,x+1,...,y
op=2: a[i] *= c, i=x,x+1,...,y
op=3: a[i] = c, i=x,x+1,...,y
op=4: 输出sum=a[x]+a[x+1]+...+a[y]
思路:
考虑用线段树,对set,mul,add的处理顺序为set->mul->add。
对于一段序列a[x],a[x+1],...,a[y]记
Sigma1(a[i]) = a[x] + a[x+1] +...+ a[y]
Sigma2(a[i]) = a[x]^2 + a[x+1]^2 +...+ a[y]^2
Sigma3(a[i]) = a[x]^3 + a[x+1]^3 +...+ a[y]^3
那么,
Sigma1(n*a[i]+p)
= (n*a[x]+p) + (n*a[x+1]+p) +...+ (n*a[y]+p)
= n*(a[x]+a[x+1]+...+a[y]) + p*(y-x+1)
= n*Sigma1(a[i])
Sigma2(n*a[i]+p)
= (n*a[x]+p)^2 + (n*a[x+1]+p)^2 +...+ (n*a[y]+p)^2
= n*n*(a[x]^2+a[x+1]^2+...+a[y]^2) + 2*n*p*(a[x]+a[x+1]+...+a[y]) + p*p*(y-x+1)
= n*n*Sigma2(a[i]) + 2*n*p*Sigma1(a[i]) + p*p*(y-x+1)
Sigma3(n*a[i]+p)
= (n*a[x]+p) + (n*a[x+1]+p) +...+ (n*a[y]+p)
= n*n*n*(a[x]^3+a[x+1]^3+...+a[y]^3) + 3*n*n*p*(a[x]^2+a[x+1]^2+...+a[y]^2) + 3*n*p*p*(a[x]+a[x+1]+...+a[y]) + p*p*p*(y-x+1)
= n*n*n*Sigma3(a[i]) + 3*n*n*p*Sigma2(a[i]) + 3*n*p*p*Sigma1(a[i]) + p*p*p*(y-x+1)
这样就很容易求解了。

maintain(o):
 if setv then cope o with setv
 else if R>L then cope o with lo and ro
 else cope o as leaf node
 cope o with mulv then addv
pushdown(o):
 if setv then push setv down
 if mulv then push mulv down
 if addv then push addv down
update:
 if [y1,y2] contains [L,R]
  do update directly
 else
  pushdown
  if y1 <= M then update(lo) else maintain(lo)
  if y2 > M then update(ro) else maintain(ro)
  maintain(o)




HDU 4578 Transformation(线段树+做了4天的神题+详解) Yuanfang is puzzled with the question below: There are n integers, a 1, a 2, …, a n. The initial values of them are 0. There are four kinds of operations. Operation 1: Add c to each number between a x and a y inclusive. In other words, do transformation 阅读详情

相关推荐

Windows/Linux双平台指南:3种方法快速释放被占用的GPU内存(含任务管理器替代方案)

本文详细介绍了在Windows和Linux双平台下快速释放被占用GPU内存的3种方法,包括任务管理器替代方案。从基础操作到高阶技巧,帮助用户彻底解决GPU内存驻留问题,提升计算资源利用率。特别适用于深度学习开发者和服务器管理员处理显存泄漏等常见问题。

j0k1l2m3n的博客 262

HDU 4578(Transformation)线段树区间更新及查询

题目:客官进来看看啊 题意: 四种操作: ①对给定区间的所有值加上 一个数 c; ②对给定区间的所有数乘上一个数 c; ③将给定区间的所有数变为 c ; ④输出一个区间的所有数的和,平方和,立方和 值 mod 10007。 这道题第一眼就知道是一个线段树的题目, 这个很容易就可以看出来,最主要的是怎么将这些操作联系起来。 思路: 因为有三种更新操作,所以需要三个 懒惰标记 ,分别表示 加 , 乘...

laaahu的博客 445

PCB设计之ODB++文件格式详解

ODB++(Open Database++)是一种广泛应用于PCB(印制电路板)设计和制造领域的开放数据交换格式。它由Valor Computerized Systems(现为Siemens EDA的一部分)开发,旨在替代传统的Gerber文件格式,提供更完整、结构化的制造数据,从而优化PCB设计到生产的流程。ODB++通过结构化数据整合了PCB设计到制造的全流程信息,显著提高了生产效率和准确性。尽管存在一定的兼容性挑战,但其在复杂项目和高可靠性场景中的价值不可替代。

ZZcppc的博客 1万+

hdu 4578 Transformation(线段树区间更新)

题意: 给你一个数组,初始值为零,有四种操作 (1)”1 x y c”,代表 把区间 [x,y] 上的值全部加c (2)”2 x y c”,代表 把区间 [x,y] 上的值全部乘以c (3)”3 x y c” 代表 把区间 [x,y]上的值全部赋值为c (4)”4 x y p” 代表 求区间 [x,y] 上值的p次方和1<=p<=3 解析:我们可以把区间内的数字看做 ax

小G的ACM之路 873

AI智能体安全沙箱agentguard:为LLM代码执行筑起防火墙

在AI应用开发领域,大语言模型(LLM)驱动的智能体(Agent)能够自动生成并执行代码,极大地提升了自动化能力。然而,赋予AI直接执行系统命令的权限也带来了显著的安全风险,如恶意代码注入、敏感数据泄露和系统资源滥用。为了解决这一核心矛盾,安全沙箱技术应运而生,它通过在不可信代码与宿主系统之间建立隔离层,实现"默认拒绝、最小权限"的安全原则。agentguard项目正是这一理念的工程实践,它结合白名单机制与容器化隔离,为AI智能体提供了可配置、可审计的安全执行环境。该方案不仅适用于内部自动化工具开发,也为构

weixin_28695537的博客 297

EPLAN二次开发实战:从API接口到定制化功能的完整指南

本文为电气工程师和自动化设计师提供了一份EPLAN二次开发的完整实战指南。文章详细介绍了从脚本、插件到独立程序三种开发模式,重点讲解了如何使用C#或VB.NET通过API接口操作EPLAN数据模型,实现定制化功能以提升设计效率,并分享了开发环境搭建、调试及项目打包分发的避坑经验。

c6d7e8f9g的博客 1121

HDU - 4578 Transformation(线段树 - 区间更新)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4578 题意:初始时给一个全为0的数列,有四种操作 (1)将x->y的数全部加上c; (2)将x->y的数全部乘以c; (3)将x->y的数全部赋值为c; (4)查询x->y的每个数的p次方的和; 思路:这一题涉及到特别多的操作,但都是区间上的操作,所以可以想到线段树,但这一题我...

qq_43423395的博客 354

PostgreSQL:Patroni 高可用架构,基于etcd的自动故障转移集群

本文详细介绍了基于Patroni和etcd构建PostgreSQL高可用集群的方案。Patroni作为外部守护进程,通过etcd分布式协调服务实现自动故障转移、主节点选举等关键功能,弥补了PostgreSQL原生缺乏自动故障转移的不足。文章涵盖核心架构(3节点PG+3节点etcd)、环境规划、etcd集群部署(包括配置验证)以及Patroni安装配置的关键步骤,特别强调了Patroni自动初始化PG实例、配置同步复制等生产级特性。该方案通过外部组件协同工作,在不修改PG源码的情况下实现了生产环境所需的高可用

数据知道的博客 2491

Transformation HDU - 4578 (线段树区间更新 多种操作)

Yuanfang is puzzled with the question below: There are n integers, a 1, a 2, …, a n. The initial values of them are 0. There are four kinds of operations. Operation 1: Add c to each number between a x...

dsaghjkye的博客 387

粒子群优化与蚁群算法求解多旅行商问题

它要求在给定一组城市和旅行商之间的距离矩阵的情况下,找到一条最优的路径方案,使得所有旅行商可以分别从起始城市出发,途径其他城市,并最终回到起始城市,同时总旅行距离达到最小。这两种算法都是基于群体智能的优化算法,在求解组合优化问题时具有较好的性能表现。假设有n个城市需要被m个旅行商访问,城市间的距离由距离矩阵D表示,其中D(i,j)表示第i个城市到第j个城市的距离。粒子群优化算法是一种基于群体智能的优化算法,其中的粒子代表了潜在的解,并通过模拟粒子在解空间中的移动来搜索最优解。一、多旅行商问题建模。

m0_47037246的博客 553

【FISCO BCOS】二十、多机部署区块链

实际开发中,为了满足高可用性和高容错性的需求,往往会采用多级部署区块链的方式,今天介绍一下FISCO BCOS的多机部署流程。

naihe_fish的博客 3654

【线段树多符号区间更新】HDU - 4578 Transformation

Problem Description 输入n,m。给你长度为n的数组,初始化为0。接下里有m行操作: (1)”1 x y c”,代表 把区间 [x,y] 上的值全部加c (2)”2 x y c”,代表 把区间 [x,y] 上的值全部乘以c (3)”3 x y c” 代表 把区间 [x,y]上的值全部赋值为c (4)”4 x y p” 代表 求区间 [x,y]

ACMer 梁剑锋 的博客 281

【图像超分】论文精读:Interpreting Super-Resolution Networks with Local Attribution Maps(LAM)

论文题目:Interpreting Super-Resolution Networks with Local Attribution Maps —— 用局部归因图解释超分辨率网络CVPR 2021!必读文章!必须会的可视化手段!很多文章中都会对比LAM!图像超分辨率 (SR) 技术发展迅速,受益于深度网络的发明及其连续突破。然而,众所周知,深度学习和深度神经网络很难解释。SR网络继承了这种神秘的性质,很少有作品试图理解它们。在本文中,我们对 SR 网络进行了归因分析。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 547

HDU 4578 Transformation 经典的线段树区间更新

题意:四个操作:第一种:一个区间内的所有数全部加上C;第二种:一个区间上的所有数全部乘以C;第三种:一个区间上的数全部换成C;第四种:将区间上的每个数的p次方和输出,其中p可取1,2,3。 想法:关键在于PushDown函数的编写和如何得到区间上每个数字的p次方和。 作出如下假设,某区间中有数:a1, a2, ..., aN。此时从它的父亲节点传来了PushDown的操作,需要将父亲节点中的M...

猫ER 607

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

hdu-4578-Transformation-线段树(区间更新区间求和,多lazy,绝世好题)

Time limit 8000 msMemory limit 65536 kB Yuanfang is puzzled with the question below: There are n integers, a 1, a 2, …, a n. The initial values of th...

vocaloid01的博客 583

老版QQ原生表情gif动态

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

【区间更新+多种操作】K - Transformation HDU - 4578

K - Transformation HDU - 4578 Yuanfang is puzzled with the question below:  There are n integers, a 1, a 2, …, a n. The initial values of them are 0. There are four kinds of operations.  Operation 1:...

qq_41037114的博客 507

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【HDU 4578 --- Transformation】线段树

【HDU 4578 --- Transformation】 Description Yuanfang is puzzled with the question below: There are n integers, a 1, a 2, …, a n. The initial values of them are 0. There are four kinds of operations. Ope...

来日浅谈的博客 587

HDU - 4578 Transformation 【线段树】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4578 题目比较麻烦,取模要细心一点。 区间加,乘,覆盖问题不是很大,比较麻烦的就是求的和的部分,因为p只取1,2,3,所以还是有可操作性的。 假设只有3个数a, b ,c。 如果对这三个数做加的操作,那么 p = 2,有 (a+1)^2 + (b+1)^2 + (c+1)^2 。把这个式子的平...

Y390d的博客 160

hdu 4578 Transformation(区间线段树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4578 多种操作,都是对区间的操作, #include #include #include #include #include using namespace std; #define mode 10007 #define maxn 100010 #define ls

我心中有猛虎 细嗅蔷薇 942

hdu4578Transformation 线段树

//长度为n的数组 四个操作 //1 x y  c [x,y]区间的数都加c //2 x y c [x, y] 区间的数都乘以c //3 x y c [x ,y] 区间的数都变为c //4 x y p [x ,y] 求区间的数的p次方的和 //用线段树维护里面的值都相等的区间 ,那么这个区间的所需答案为(r-l+1)*(tree[v].eq)^q //对于懒惰操作 mul , eq ,

ijbuhv的专栏 1363

HDU - 4578 Transformation(线段树)

异常变态的正常线段树。给你三种操作,三种输出方式: 1.让l~r区间的所有值加c; 2.让l~r区间的所有值乘c; 3.让l~r区间的所有值变成c; 4.让l~r区间的所有值都先求p(1~3)次方,然后求和输出。 别人都是一看题懵逼好简单操作好复杂,我就比较优秀,一看题就懵逼感觉很难不知道怎么做,我对不起这几天努力学的线段树,对不起。其实我考虑到分三种lazy数组,三种ans数组(正常大...

qq_38367681的博客 1017

HDU - Transformation(线段树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4578 Time Limit: 15000/8000 MS (Java/Others) Memory Limit: 65535/65536 K (Java/Others) Problem Description Yuanfang is puzzled with the question below: T...

ityanger的技术栈 2770

hdu4578 Transformation (线段树多种操作)

先呈上原题连接 题意: 对于一个区间有4个操作: 1.将a~b都加上c 2.将a~b都乘上c 3.将a~b都变成c 4.查询a~b的每个数的p次方的和。(p=1,2,3) 思路: 虽说是一道很裸的线段树的题,但是却非常考验代码能力。 查询p的取值只有三个,所以维护三棵线段树就行了。 难点在多种操作,每个操作的更新次序是有讲究的,在下推标记的时候一般是先推置数操作,然后推乘法,最后推加法。 坑点: ...

BNUbeginner的博客 345

HDU-4578 Transformation(线段树的多种区间操作)

http://acm.hdu.edu.cn/showproblem.php?pid=4578 Time Limit: 15000/8000 MS (Java/Others)Memory Limit: 65535/65536 K (Java/Others) Problem Description Yuanfang is puzzled with the question...

weixin_30299539的博客 217

HDU 4578 Transformation(线段树乱维护)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4578 解题思路: ①各种标记,用到哪下放到哪。 肯定是能想到用各种标记维护的,关键是标记之间会相互影响。 现在有三个标记: mtag维护乘法标记,初值为1 add维护加法标记,初值为0 isset维护区间是否用一个数覆盖 操作1,如果加法标记有数值,那么让它的值乘以乘法标记,这样下次计...

shadiao.的博客 175
上一篇: LightOJ 组合游戏 SG函数 SG定理 1199 1296 1315 1229 1401
下一篇: 自动生成ACM-ICPC模版的Latex版本
jasison
博客等级 码龄15年 6粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值