洛谷 花神游历各国2 线段树
发布日期:2021-09-25 23:57:42
浏览次数:5
分类:技术文章
本文共 2224 字,大约阅读时间需要 7 分钟。
上帝造题的七分钟2 / 花神游历各国
题目描述
"第一分钟,X说,要有数列,于是便给定了一个正整数数列。第二分钟,L说,要能修改,于是便有了对一段数中每个数都开平方(下取整)的操作。
第三分钟,k说,要能查询,于是便有了求一段数的和的操作。
第四分钟,彩虹喵说,要是noip难度,于是便有了数据范围。
第五分钟,诗人说,要有韵律,于是便有了时间限制和内存限制。
第六分钟,和雪说,要省点事,于是便有了保证运算过程中及最终结果均不超过64位有符号整数类型的表示范围的限制。
第七分钟,这道题终于造完了,然而,造题的神牛们再也不想写这道题的程序了。"
——《上帝造题的七分钟·第二部》
所以这个神圣的任务就交给你了。
输入格式
第一行一个整数nn,代表数列中数的个数。第二行nn个正整数,表示初始状态下数列中的数。
第三行一个整数mm,表示有mm次操作。
接下来mm行每行三个整数k,l,r,
k=0表示给[l,r][l,r]中的每个数开平方(下取整)
k=1表示询问[l,r][l,r]中各个数的和。 数据中有可能l>rl>r,所以遇到这种情况请交换l和r。输出格式
对于询问操作,每行输出一个回答。输入输出样例
输入 #1复制 10 1 2 3 4 5 6 7 8 9 10 5 0 1 10 1 1 10 1 1 5 0 5 8 1 4 8 输出 #1复制 19 7 6 说明/提示 对于30%的数据,1\le n,m\le 10001≤n,m≤1000,数列中的数不超过3276732767。对于100%的数据,1 \le n,m \le 1000001≤n,m≤100000,1 \le l,r \le n1≤l,r≤n,数列中的数大于00,且不超过10^{12}10 12。
注意l有可能大于r,遇到这种情况请交换l,r。
这个题暴力能过是我没想到的,我还以为要什么高级的结构来实现区间开平方。
因为1e18开6次方就能到1,所以对于一个数,最多能开6次方。 (1)当区间最大值是1的时候,直接返回。 (2)当区间最大值大于1的时候,直接暴力递归就行了,因为每个叶结点最多遍历6次。 所以用线段树不仅需要维护区间和,还需要维护区间最大值。#include#include #include #include #include
转载地址:https://blog.csdn.net/DaNIelLAk/article/details/105920797 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月16日 08时47分14秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java代码覆盖率历史发展轨迹
2019-04-27
【防止重复下单】分布式系统接口幂等性实现方案
2019-04-27
一图秒懂开源许可证协议-GPL、BSD、MIT、Mozilla、Apache,LGPL
2019-04-27
websocket 项目启示录
2019-04-27
性能测试
2019-04-27
Java电商系统商品详情页存储方案设计
2019-04-27
Jacoco探针源码解析(0.8.5 版本)
2019-04-27
Java的Instrumentation类原理分析
2019-04-27
"org.jacoco.agent.rt" 在 maven 中找不到
2019-04-27
计算机中的dump到底是什么意思?
2019-04-27
JaCoCo探针策略原理及案例总结
2019-04-27
阿里三面:说说线程封闭与ThreadLocal的关系
2019-04-27
看完让你吊打面试官-@Autowired注解到底怎么实现的?
2019-04-27
MySQL的行锁、表锁、间隙锁详解
2019-04-27
和阿里面试官扯了半小时ArrayBlockingQueue源码
2019-04-27
远离996,PDMan开源免费的国产数据库建模工具!
2019-04-27
现代操作系统的存储器结构
2019-04-27
深度揭秘年薪60W的阿里P7简历制作过程!
2019-04-27
可能是全网最全的SpringBoot启动流程源码分析(基于 2.1.5 版本)
2019-04-27
BAT华为等一线大厂工程师都在用的优秀 IDEA 插件
2019-04-27