spoj GSS4 Can you answer these queries IV (线段树)

Protege入门指南:从下载到本体构建实战 本文是Protege的入门实战指南,详细介绍了如何从官网下载安装这款由斯坦福大学开发的免费本体构建工具,并通过经典的“披萨本体”案例,系统讲解了类、属性、个体和公理四大核心要素。文章还深入解析了Protege的工作界面,并引导读者亲手创建一个简易的“公司人员组织”本体,完成从定义概念、建立关系到逻辑推理的全流程,是知识图谱与本体建模初学者的理想教程。 阅读详情

题意:

思路:

        套路题,因为在根号几次以后,继续根号就没有意义了,利用这一点就能AC了

错误及反思:

代码:

#include<bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
const int N = 100100;
long long sum[N<<2],val[N<<2];
int lazy[N<<2];
int n,m;

void build(int l,int r,int rt){
    if(l==r){
        sum[rt]=val[l];
        return ;
    }
    int m=l+r>>1;
    build(lson);
    build(rson);
    sum[rt]=sum[rt<<1]+sum[rt<<1|1];
}

void pushdown(int l,int r,int rt){
    lazy[rt<<1]+=lazy[rt];
    lazy[rt<<1|1]+=lazy[rt];
    lazy[rt]=0;
}

void pushup(int l,int r,int rt){
    sum[rt]=sum[rt<<1]+sum[rt<<1|1];
}

void update(int L,int R,int l,int r,int rt){
    if(sum[rt]==r-l+1)  return ;
    if(L<=l&&R>=r){
        lazy[rt]++;
        return ;
    }
    int m=l+r>>1;
    if(L<=m) update(L,R,lson);
    if(R>m) update(L,R,rson);
}

long long query(int L,int R,int l,int r,int rt){
    if(L<=l&&R>=r)
        return sum[rt];
    int m=l+r>>1;
    long long ans=0;
    if(L<=m) ans+=query(L,R,lson);
    if(R>m) ans+=query(L,R,rson);
    return ans;
}

void down(int l,int r,int rt){
    if(sum[rt]==r-l+1) return ;
    if(l==r){
        for(int i=0;i<lazy[rt];i++)
            sum[rt]=(long long)sqrt(sum[rt]);
        lazy[rt]=0;
        return ;
    }
    pushdown(l,r,rt);
    int m=l+r>>1;
    down(lson);
    down(rson);
    pushup(l,r,rt);
    return ;
}

void init(){
    memset(sum,0,sizeof(sum));
    memset(lazy,0,sizeof(lazy));
}

int main(){
    int cnt=1;
    while(scanf("%d",&n)!=EOF){
        init();
        for(int i=1;i<=n;i++) scanf("%lld",&val[i]);
        build(1,n,1);
        scanf("%d",&m);
        printf("Case #%d:\n",cnt++);
        while(m--){
            int a,b,k;
            scanf("%d%d%d",&k,&a,&b);
            if(a>b) swap(a,b);
            if(k){ down(1,n,1); printf("%lld\n",query(a,b,1,n,1));}
            else update(a,b,1,n,1);
        }
        puts("");
    }
}
CANape a2l文件的编辑教程 编辑a2l文件 阅读详情

相关推荐

FlightStream实战:如何用面元法在笔记本电脑上完成无人机气动分析(附NASA案例)

本文详细介绍了如何利用FlightStream面元法在笔记本电脑上高效完成无人机气动分析,包括其核心技术优势、NASA D8案例实战解析及高效工作流建立。FlightStream作为快速CFD分析工具,显著提升了早期设计阶段的迭代速度,适用于概念设计验证和多气动构型比较。

weixin_28363123的博客 260

SPOJ 4487. Can you answer these queries VI(GSS6 Splay tree)

转载请注明出处,谢谢http://blog.youkuaiyun.com/acm_cxlove/article/details/7854526       by---cxlove 题目:给出4种操作 在某个位置,插入一个数 将某个位置的数删掉 将某个位置的数修改 查询某个区间的最大子段和 http://www.spoj.pl/problems/GSS6/  由于有添加和删除,线段树不好处

窝不是爱酱,喵~~~~ 2827

PyFluent进阶实战:自动化密闭几何(Watertight)网格生成

本文深入探讨了如何利用PyFluent实现自动化密闭几何(Watertight)网格生成。通过Python脚本控制Fluent Meshing工作流,工程师可以高效、一致地完成从几何导入、局部尺寸定义、面网格生成到边界层设置和体网格输出的全过程,从而将复杂的CFD前处理工作转化为可重复、可集成的自动化流程,极大提升仿真效率和知识复用性。

t8u9v0w1x的博客 579

SPOJ GSS6 Can you answer these queries VI

题意: 要求维护一个数列, 满足插入, 删除,修改和询问最大连续子段和的操作。。 思路: 用splay维护, 由于子段要求非空。。 所以push_up那里不能直接用空儿子的值。。 #include #include #include #include #include #include #include #include #include #include us

yamiedie_ 624

【一步到位】Android Studio 实现安卓连接阿里云物联网云平台

最新版本目前是Android Studio Iguana | 2024.1.2,你可以到官网上去找之前的版本,手上有工作项目的不要去轻易尝试,说不定你就编译失败了,失败了也不要担心,解决就可以了。

m0_73799445的博客 1万+

GNSS接收机性能测试指标详解:TTFF、位置精度、灵敏度等关键参数如何评估

本文详细解析了GNSS接收机性能测试的关键指标,包括首次定位时间(TTFF)、位置精度、灵敏度等,帮助工程师系统评估接收机性能。通过多频段协同定位和载波相位测试等技术,提升定位精度至亚米级。同时,介绍了灵敏度测试的极限挑战和授时精度的专业测试方案,为GNSS接收机的性能优化提供实用指导。

cuda7parallel的博客 965

SPOJ GSS4 Can you answer these queries IV

题意:给定的n个数,我们定义两个操作,分别是区间开根号以及区间求和。共有m次查询,其中n,m≤1e5。 思路:一个1e18以内的数,经过最多6次开平方操作后,会变成1。建立线段树,对于每一个叶子节点我们最多进行6次的更新操作后,每次就不会改变大小了。那么我们可以通过维护区间和,如果区间和等于区间长度则不需要更新(或者区间的最大值和区间和,对于区间最大值是1的区间,我们就可以直接不考虑了)因为对其中...

常胜将军的博客 287

基于逆向工程的中国裁判文书网爬虫技术深度解析:从反爬破解到合规抓取

最近承接了一个法律大数据分析的项目,需要获取某类合同纠纷的裁判文书数据,用于分析不同地区的判决规律、法官的裁判倾向以及法条适用情况。原本以为用常规的Python爬虫就能搞定,结果刚对着中国裁判文书网发了几个请求,就遭遇了“滑铁卢”:要么请求直接返回403 Forbidden,要么触发滑块验证码,甚至连IP都被临时封禁了。普通的requests+BeautifulSoup组合在裁判文书网面前完全失效,这也让我意识到,想要获取这里的数据,必须先通过逆向工程拆解网站的请求逻辑和反爬机制。经过一周的摸索,从抓包分析

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 3172

SPOJ GSS6: Can you answer these queries VI 题解

平衡树裸题(我写这道题目是练板子的)平衡树的每个节点上维护lmax,rmax,max,sum,sz具体更新见代码#include &lt;cstdio&gt; #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;string&gt; #include &lt;cstdlib&gt; #include &lt;utility...

IcePrincess_1968's World 460

真格量化——GFTD策略

#!/usr/bin/env python # coding:utf-8 from PoboAPI import * import datetime import numpy as np import math #开始时间,用于初始化一些参数 def OnStart(context) : print "I\'m starting..." #设置全局变量 g.signalcount = 0 g.signal_list = [] g.buysignal = 0 .

qq_26742269的博客 1285

基于Python的军事装备信息爬虫实战:Scrapy+Playwright+智能反反爬技术

本文将详细介绍如何使用Python构建一个高效的军事装备信息爬虫系统。我们将从基础的HTTP请求开始,逐步深入到使用Scrapy框架、Playwright浏览器自动化以及最新的反反爬技术。文章包含完整的代码实现、性能优化策略以及数据处理方案,旨在为读者提供一个全面的军事信息爬取解决方案。关键词:Python爬虫、军事装备、Scrapy、Playwright、反反爬。

2201_76125261的博客 1156

SPOJ GSS6 4487. Can you answer these queries VI (SPLAY)

题目大意: 四个操作: I X Y 在x位置插入y D x 删除x位置的数 R x y 用y替换x位置上的数字 Q x y 求出[x,y]上的最大子序列的和。 思路分析: 对于动态维护序列肯定是splay了。 现在就考虑以下几个问题。 之前我们知道线段树处理连续的子序列的和是用区间合并的。那splay上怎么做。 考虑边界,如儿子为 0 或者是冗余节点怎么办? 初始化的

Jinx Jinx again 1028

VC中sqlite的使用

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

Can you answer these queries IV 【SPOJ - GSS4】【线段树 开根号处理】

题目链接 也不是什么难题吧,只是有人看到时间可能不敢尝试吧,其实开根开多了之后就会达到一种稳态,所以,我们只需要找到平衡的时候,然后一起处理就可以节约超级多的时间复杂度了。 5 2 2 2 2 2 4 0 1 4 0 1 4 0 2 5 1 1 5 ans:5 #include <iostream> #include <cstdio> #include &lt...

既然弱小,就只顾变强就是了 365

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

SPOJ 2713. Can you answer these queries IV(GSS4 线段树)

转载请注明出处,谢谢http://blog.youkuaiyun.com/acm_cxlove/article/details/7854526       by---cxlove  题目:给出N个数,两种操作,更新操作为把区间的每一个数,都开方,查询操作为区间求和 http://www.spoj.pl/problems/GSS4/  这题的操作为开方操作,可以Lazy,可是基本没有什么效果,操作不能

窝不是爱酱,喵~~~~ 3119

老版QQ原生表情gif动态

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

[SPOJ GSS4] Can you answer these queries IV [树状数组+并查集][线段树+双向链表]

给一个序列,有两种操作,一种是把第x个数到的

jinzhao1994的专栏 743

SPOJ GSS4 Can you answer these queries IV (线段树)

题目大意: 给出N个数   0     操作   把 l -----  r之间的数全部开平方 1     操作  输出 l -----r  之间的和 思路分析: 判断区间里的数字是否全相同。如果相同, 将cov 置为该数 查询的时候和更新的时候,如果碰到cov != -1 的  就直接返回就可以了 #include #include #include

Jinx Jinx again 1253

spoj GSS4 - Can you answer these queries IV 线段树

字符串hash好题,当长度大于m*l时要把一开始多出来的部分

WJSZMRX 686

SPOJ GSS4 - Can you answer these queries IV【线段树】

Time limit 500 ms Memory limit 1572864 kB You are given a sequence A of N(N &lt;= 100,000) positive integers. There sum will be less than 1018. On this sequence you have to apply M (M &lt;= 100,000) o...

niiick 249

2019.03.24【SPOJ-GSS4】Can you answer these queries IV(线段树)

传送门 和“上帝造题的7分钟2”是一样的。 代码: #include<bits/stdc++.h> #define ll long long #define re register #define gc get_char #define cs const namespace IO{ inline char get_char(){ static cs int Rlen=1&l...

zxyoi_dreamer的博客(不定期诈尸) 168

SPOJ2713GSS4 - Can you answer these queries IV(线段树)

题意 Sol 讲过无数次了。。很显然,一个$10^12$的数开方不超过$8$次后就会变为$1$ 因此直接暴力更改即可,维护一下这段区间是否被全改为了$1$ 双倍经验:https://www.luogu.org/problemnew/show/P4145 #include<cstdio> #include<algorithm> #include<s...

weixin_30363817的博客 109

spoj 2713. Can you answer these queries IV(线段树)

题目链接:http://www.spoj.com/problems/GSS4/   题意:给出n个数,有两个操作,第一个操作是将区间[x,y]中的数都开根号,第二个操作是求区间[x,y]的和。 思路:这题以前做过类似的……对于一个10^18以内的数,最多开6次根号它的值就到1了,也就是每个数最多只要开6次根号,这样更新的时候只要单点更新就行了,如果一个区间内的值都是1了,那么就不用在更新了。

绝望的乐园 909

spoj GSS4 - Can you answer these queries IV

GSS4 - Can you answer these queries IV http://www.spoj.com/problems/GSS4/ #tree You are given a sequence A of N(N <= 100,000) positive integers. There sum will be less than 1018. On thi...

weixin_34024034的博客 79
上一篇: bzoj 1018 堵塞的交通traffic (线段树)
下一篇: 李超树学习笔记
Roll_Keyboard
博客等级 码龄9年 10粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值