ybt.1550 花神游历各国 题解

【题目描述】

花神喜欢步行游历各国,顺便虐爆各地竞赛。花神有一条游览路线,它是线型的,也就是说,所有游历国家呈一条线的形状排列,花神对每个国家都有一个喜欢程度(当然花神并不一定喜欢所有国家)。

每一次旅行中,花神会选择一条旅游路线,它在那一串国家中是连续的一段,这次旅行带来的开心值是这些国家的喜欢度的总和,当然花神对这些国家的喜欢程序并不是恒定的,有时会突然对某些国家产生反感,使他对这些国家的喜欢度\delta i变为 \sqrt{\delta i}(可能是花神虐爆了那些国家的 OI,从而感到乏味)。

现在给出花神每次的旅行路线,以及开心度的变化,请求出花神每次旅行的开心值。

【Input】

第一行是一个整数 NN,表示有 NN 个国家;

第二行有 NN 个空格隔开的整数,表示每个国家的初始喜欢度\delta i

第三行是一个整数 MM,表示有 MM 条信息要处理;

第四行到最后,每行三个整数 x,l,rx,l,r,当 x = 1时询问游历国家 ll 到 rr 的开心值总和,就是 $$\sum_{i=l}^r{\delta i} ,当 x = 2 时国家 ll 到 rr 中每个国家的喜欢度\delta i变为\sqrt{\delta i}

【Output】

每次 x=1 时,每行一个整数。表示这次旅行的开心度。

【Sample Input】

4
1 100 5 5
5
1 1 2
2 1 2
1 1 2
2 2 3
1 1 4

【Sample Output】

101
11
11

【Data range & Tips】

对于全部数据,1\leq n\leq 10^5,1\leq m\leq 2\times 10^5,1\leq l \leq r \leq n,0\leq \delta i\leq 10^9

注:建议使用 sqrt 函数,且向下取整。

【Solution】

n^2\log n没跑满,然后过了(神奇)!

区间修改时不打懒标记,把区间内每个叶子节点都遍历(我不知道开根号怎么打懒标记)

然后有个小优化:

维护maxn记录当前区间最大的数,因为1,0开方和原值一样,所以当maxn\leq 1时就return;

【Code】

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
struct Segment_Tree{long long sum,maxn;
}tree[1000000];
int n,m,a[100100],op,ll,rr;
inline void build(int k,int l,int r){if(l==r){tree[k].sum=a[l];tree[k].maxn=a[l];return;}int mid=(l+r)>>1;build(k<<1,l,mid);build(k<<1|1,mid+1,r);tree[k].sum=tree[k<<1].sum+tree[k<<1|1].sum;tree[k].maxn=max(tree[k<<1].maxn,tree[k<<1|1].maxn);
}
inline void modify(int k,int l,int r,int x,int y){if(l>y||r<x)return;if(tree[k].maxn<=1)return;if(l==r){tree[k].sum=floor(sqrt(tree[k].sum));tree[k].maxn=tree[k].sum;return;}int mid=(l+r)>>1;if(x<=mid)modify(k<<1,l,mid,x,y);if(y>mid)modify(k<<1|1,mid+1,r,x,y);tree[k].sum=tree[k<<1].sum+tree[k<<1|1].sum;tree[k].maxn=max(tree[k<<1].maxn,tree[k<<1|1].maxn); 
}
inline long long Ask(int k,int l,int r,int x,int y){if(l>y||r<x)return 0;if(l>=x&&r<=y)return tree[k].sum;int mid=(l+r)>>1;long long res=0;if(x<=mid)res+=Ask(k<<1,l,mid,x,y);if(y>mid)res+=Ask(k<<1|1,mid+1,r,x,y);return res;
}
int main(){scanf("%d",&n);for(register int i=1;i<=n;i++)scanf("%d",&a[i]);build(1,1,n);scanf("%d",&m);for(register int i=1;i<=m;i++){scanf("%d%d%d",&op,&ll,&rr);if(op==1){printf("%lld\n",Ask(1,1,n,ll,rr)); }else{modify(1,1,n,ll,rr);}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/21189.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

花神倒果汁

花神倒果汁(juice.pas/c/cpp)【题目描述】为了庆祝花神开花&#xff0c;花神决定举办一个宴会。其中有一个游戏叫倒果汁。果汁容器的底座是一个独立的NM的矩阵&#xff0c;矩阵的每个格点有一个高度&#xff0c;表示这个格子正上方有多少个111的方块。相邻两个方块被粘得严实&a…

Centos7.9部署sd-webui,容易上手易学就会

一、什么是sd-webui 最近两年AI技术非常火爆&#xff0c;特别是今年随着ChatGPT被吹爆&#xff0c;更多的AI技术映入大家眼帘。相较于其他AI&#xff0c;感觉AI绘画更接地气&#xff0c;sd webui全名&#xff1a;Stable Diffusion web ui是AI绘画中的一种算法&#xff0c;是一…

已损坏,无法打开。 您应该将它移到废纸篓。解决方案

1.首先确认下隐私与安全性是否选择了任何来源 如果没有任何来源选项可参考 https://wangjian.blog.csdn.net/article/details/130246875?spm1001.2014.3001.5502 2.如果还是不行,就用终极大招,给文件安全性权限.打开终端,先输入如下指令 sudo xattr -r -d com.apple.quaran…

Pycharm使用(配置)技巧

下载Pycharm后&#xff0c;需要将界面配置的人性化一点&#xff0c;下面介绍一下本人觉得方便的配置方法和使用技巧。 配置方法&#xff1a; 版本汉化&#xff1a; Chinese   打开File,找到Settings   打开Settings中的Pulgins&#xff0c;选择Marketplace,搜索chinese&a…

GPT Prompt(提示词)写法与教程,相关站点与工具

文章目录 1、Prompt工程师&#xff08;提示工程师&#xff09;2、提示词教程3、提示词工具&#xff08;中文&#xff09;4、提示词工具&#xff08;英文&#xff09; 1、Prompt工程师&#xff08;提示工程师&#xff09; Prompt工程师&#xff0c;也称为AI提示工程师&#xff…

chatgpt赋能python:Python汉化包:让你的编程更加优美

Python汉化包&#xff1a;让你的编程更加优美 作为一名有10年python编程经验的工程师&#xff0c;我深知Python在编程领域的重要性。但是&#xff0c;对于刚开始学习Python的新手来说&#xff0c;可能会受到英文显示的影响&#xff0c;导致学习或开发难度增加。这个时候&#…

chatgpt赋能python:如何取消Python的汉化

如何取消Python的汉化 Python是一种被广泛使用的高级编程语言&#xff0c;其简单易学、灵活性强和开源等特点让许多开发者和企业选择它作为主要开发工具。但是&#xff0c;对于某些用户来说&#xff0c;Python自带的中文化界面可能并不符合他们的需求&#xff0c;因此取消Pyth…

cursor中文设置----输出中文

来源&#xff1a;微信公众号「编程学习基地」 文章目录 软件中文设置中文问题输出设置 软件中文设置 方法&#xff1a; 点击文件->首选项->扩展: 搜索zh-CN :安装chinese(simplified) 简体中文语言包 3&#xff09;安装完成重启Cursor就会用中文回答问题了 中文问题…

小米组织架构变动历史

2018年 9月3日&#xff0c;新设集团参谋部和组织部&#xff0c;改组电视部、生态链部、MIUI 部和互娱部等四个业务部&#xff0c;重组成十个新的业务部。参谋部&#xff0c;高层管理干部的聘用、升迁、培训和考核激励等&#xff0c;以及各个部门的组织建设和编制审批&#xff…

互联网 + :小米案例版

目录 上&#xff1a;感知正在生成的未来 中&#xff1a;做适者生存的“达尔文雀” “互联网”价值观 “互联网”流程 “互联网”资源 下&#xff1a;进化的未来&#xff1a;两种路线并行 路线一&#xff1a;以“互联网”实现跨界&#xff0c;大举建设生态系 路线二&#xff1a;…

电商项目:高仿小米商城(一)

前言 时间过得很快&#xff0c;统一哥转眼也大三了。欢娱不惜、时光易逝。不由得引起人的感叹 那时候我只是个Java入门小白&#xff0c;lambda表达式都jio得难得一匹&#xff0c;但我心中的不甘是清晰的。了解我的人都知道&#xff0c;我向来是个不会向现实低头的人。技术水…

中国信通院推出了一个“APP签名服务系统,可防篡改、可追溯、第三方认证“的初步了解

中国信通院推出了一个“APP签名服务系统,可防篡改、可追溯、第三方认证"的初步了解 今天查看邮箱无意间看到一封小米应用商店的发的邮箱&#xff0c;内容如下: 点击上图中的链接进入官网 国家工信部竟然搞一个 App签名服务系统 , 这个有点和谷歌应用商店的应用自签名功能…

最新ECShop小米商城模板堂商业源码+手机版/整站数据/团购

正文: 完整演示图放到压缩包里了&#xff0c;因为是属于整站长图&#xff0c;文章里面不好放&#xff0c;程序有安装说明&#xff0c;有兴趣的自己去看吧。 价值6000的小米商城模板&#xff0c;ECShop内核&#xff0c;带团购、手机版和微信商城的哦&#xff0c;源码站长亲测&…

黑马点评项目-短信登录功能

一、导入黑马点评项目 1、代码下载 视频资源链接&#xff1a;P25 实战篇-02.短信登录-导入黑马点评项目 代码可以直接去黑马微信公众号上搜索&#xff0c;或者从下面的网盘链接中下载&#xff1a;链接: https://pan.baidu.com/s/1aWhWVn2Ai7AeuDm0KftSqw 提取码: snuw 2、数…

2023最新匿名短信【时光送信】H5源码V4.0版+后端管理

如果把这个做成副业那将大大增加你每天的收益像这种看似简单&#xff0c;非常冷漠小众的项目&#xff0c;往往可以带给你超高收益&#xff0c;而且每条短信成本1毛都不到 里面就包含这三个功能&#xff0c;看似不起眼对学生或者正在谈恋爱的人很有用 发出去的短信就是这种&…

Smartbi观点 | ChatGPT还处于初级阶段?然而AI早已打入BI内部

最近&#xff0c;当我们还沉浸在电影《流浪地球2》MOSS所带来的震感时&#xff0c;ChatGPT又火爆社交媒体&#xff0c;成为全球“新顶流”。 官方数据显示&#xff0c;今年1月&#xff0c;平均每天约有1300万独立访客使用 ChatGPT&#xff0c;累计用户超1亿&#xff0c;创下了…

录用2360篇、接收率25.78%,CVPR 2023接收结果公布

关注并星标 从此不迷路 计算机视觉研究院 公众号ID&#xff5c;ComputerVisionGzq 学习群&#xff5c;扫码在主页获取加入方式 计算机视觉研究院专栏 作者&#xff1a;Edison_G 你中了吗&#xff1f; 转自《机器之心》 接收率出来了&#xff01;在短短几个小时内&#xff0c;各…

ChatGPT的阴谋~第1125位投票者的时间轴

2023年3月29日&#xff0c;媒体都在转发马斯克的公开信&#xff0c;大意是暂停一切大型AI研发至少6个月&#xff0c;并在此期间制定相应方案管控AI。虽然公开信只有595个单词&#xff0c;却被世界众多顶级教授&#xff0c;科技界联合创始人一致认同。 10日后&#xff0c;OpenA…

文心一言 VS chatgpt (17)-- 算法导论4.1 3~4题

三、在你的计算机上实现最大子数组问题的暴力算法和递归算法。请指出多大的问题规模n0是性能交叉点一一从此之后递归算法将击败暴力算法?然后&#xff0c;修改递归算法的基本情况一一当问题规模小于 n0 时采用暴力算法。修改后&#xff0c;性能交叉点会改变吗? 文心一言&…

文心一言 VS chatgpt (2)-- 算法导论1.2

一.给出在应用层需要算法内容的应用的一个例子&#xff0c;并讨论涉及的算法的功能。 文心一言&#xff1a; 在应用层需要算法内容的应用的一个例子是无人机自主飞行控制。无人机自主飞行控制需要算法来确定无人机的位置、速度和方向&#xff0c;以便在复杂的环境中实现精确的…