***又是超时的问题,当一个区间全是1时,再去开方和不开方是一样的,所以在这一步不需要再往底层递归了***

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <stack>
#include <queue>
#include <cmath> using namespace std;
typedef long long LL;
#define oo 0x3f3f3f3f
#define N 201000 struct node
{
int l, r;
int len()
{
return r-l+1;
}
LL s;
} tree[N*4]; LL A[N];//数据较大,元素用long long void build(int l, int r, int rt)
{
tree[rt].l=l;
tree[rt].r=r;
if(l==r)
{
tree[rt].s=A[l];
return ;
}
int mid=(l+r)/2;
build(l, mid, rt*2);
build(mid+1, r, rt*2+1);
tree[rt].s=tree[rt*2].s+tree[rt*2+1].s;
} void update(int l, int r, int rt)
{
if(tree[rt].len()==tree[rt].s)//当一个区间全是1时
return ;
if(tree[rt].r<l || tree[rt].l>r)
return ;
if(tree[rt].l>=l && tree[rt].r<=r && tree[rt].l==tree[rt].r)
{
tree[rt].s=(LL)sqrt(tree[rt].s);
return ;
}
int mid=(tree[rt].l+tree[rt].r)/2;
if(r<=mid) update(l, r, rt*2);
else if(l>mid) update(l, r, rt*2+1);
else
{
update(l, mid, rt*2);
update(mid+1, r, rt*2+1);
}
tree[rt].s=tree[rt*2].s+tree[rt*2+1].s;
} LL query(int l, int r, int rt)
{
if(tree[rt].l==l && tree[rt].r==r)
return tree[rt].s;
int mid=(tree[rt].l+tree[rt].r)/2;
if(r<=mid) return query(l, r, rt*2);
else if(l>mid) return query(l, r, rt*2+1);
else
{
LL x=query(l, mid, rt*2);
LL y=query(mid+1, r, rt*2+1);
return x+y;
}
} int main()
{
int n, m, op, a, b, cas=1; while(~scanf("%d", &n))
{
for(int i=1; i<=n; i++)
scanf("%I64d", &A[i]);
scanf("%d", &m);
build(1, n, 1);
printf("Case #%d:\n", cas++);
while(m--)
{
scanf("%d%d%d", &op, &a, &b);
if(a>b)
swap(a, b);//记住a可能大于b,就这个错误,我交了n次,都是RE
if(op==0)
update(a, b, 1);
else
printf("%I64d\n", query(a, b, 1));
}
printf("\n");
}
return 0;
}

线段树 hdu 4027的更多相关文章

  1. bzoj 3038: 上帝造题的七分钟2 线段树||hdu 4027

    3038: 上帝造题的七分钟2 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 1066  Solved: 476[Submit][Status][Dis ...

  2. 主席树[可持久化线段树](hdu 2665 Kth number、SP 10628 Count on a tree、ZOJ 2112 Dynamic Rankings、codeforces 813E Army Creation、codeforces960F:Pathwalks )

    在今天三黑(恶意评分刷上去的那种)两紫的智推中,突然出现了P3834 [模板]可持久化线段树 1(主席树)就突然有了不详的预感2333 果然...然后我gg了!被大佬虐了! hdu 2665 Kth ...

  3. 最大矩阵覆盖权值--(静态连续最大子段 (线段树) )-HDU(6638)Snowy Smile

    这题是杭电多校2019第六场的题目 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6638 题意:给你平面上n个点,每个点都有权值(有负权),让你计算一 ...

  4. 敌兵布阵(线段树HDU 1166)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submissi ...

  5. HDU 6464 权值线段树 && HDU 6468 思维题

    免费送气球 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  6. 区间第k大问题 权值线段树 hdu 5249

    先说下权值线段树的概念吧 权值平均树 就是指区间维护值为这个区间内点出现次数和的线段树 用这个加权线段树 解决第k大问题就很方便了 int query(int l,int r,int rt,int k ...

  7. 线段树 HDU 3397(真)

    5 种操作  0 1 然后 异或 似乎这种2个更新的先后每次都搞不清 覆盖有覆盖就可以不异或 也不知道为什么 #include<stdio.h> #include<string.h& ...

  8. 线段树 HDU 3397

    5种操作 具体看代码 #include<iostream> #include<stdio.h> #include<string.h> #include<alg ...

  9. 线段树 HDU 3308

    t 题目大意:给你n个数,m个操作.操作有两种:1.U x y 将数组第x位变为y   2. Q x y 问数组第x位到第y位连续最长子序列的长度.对于每次询问,输出一个答案 #include< ...

  10. 二维线段树 HDU 1823最简单的入门题

    xiaoz 征婚,首先输入M,表示有M个操作. 借下来M行,对每一行   Ih a l     I 表示有一个MM报名,H是高度, a是活泼度,L是缘分. 或   Q h1 h2 a1 a2    求 ...

随机推荐

  1. [ABC265F] Manhattan Cafe

    Problem Statement In an $N$-dimensional space, the Manhattan distance $d(x,y)$ between two points $x ...

  2. JavaFx之横向布局左右两侧对齐(十九)

    JavaFx之横向布局左右两侧对齐(十九) 横向布局HBox在子节点A.B中添加<HBox HBox.hgrow="ALWAYS"></HBox> 即可做到 ...

  3. Java 新技术:虚拟线程使用指南(二)

    虚拟线程是在 Java 21 版本中实现的一种轻量级线程.它由 JVM 进行创建以及管理.虚拟线程和传统线程(我们称之为平台线程)之间的主要区别在于,我们可以轻松地在一个 Java 程序中运行大量.甚 ...

  4. centos7 安装 mysqlclient 报错

    报错如下: 解决方法: 先安装依赖: yum install mysql-devel 再安装: pip3 install mysqlclient

  5. Typora+Docsify快速入门

    Typora是什么? ​ Typora中文版是一款好用极简的跨平台Markdown编辑器,软件使用这款软件能够帮助用户轻松将文本转换到HTML,软件从底层向上设计,软件支持markdown的标准语法, ...

  6. Spring系列:基于注解的方式构建IOC

    目录 一.搭建子模块spring6-ioc-annotation 二.添加配置类 三.使用注解定义 Bean 四.@Autowired注入 五.@Resource注入 六.全部代码 从 Java 5 ...

  7. 使用 C# 在Word中插入图表

    Word中的图表功能将数据可视化地呈现在文档中.这为展示数据和进行数据分析提供了一种方便且易于使用的工具,使作者能够以直观的方式传达信息.要通过C#代码来实现在Word中绘制图表,可以借助 Spire ...

  8. 视频编码耗时长、编码帧发送失败…DVPP视频编码问题典型案例分析

    摘要:本期就分享几个关于DVPP视频编码问题的典型案例,并给出原因分析及解决方法 本文分享自华为云社区<DVPP媒体数据处理视频编码问题案例>,作者:昇腾CANN. DVPP(Digita ...

  9. KubeEdge边缘计算在顺丰科技工业物联网中的实践

    摘要:顺丰物联网平台负责人胡典钢为大家带来了 " 边缘计算在工业物联网中的应用实践与思考 " ,阐述了工业物联网的发展背景.整体架构设计以及边缘计算在此过程中承担的重要角色,并梳理 ...

  10. 实践GoF的设计模式:单例模式

    摘要:单例模式虽然简单易用,但也是最容易被滥用的设计模式.它并不是"银弹",在实际使用时,还需根据具体的业务场景谨慎使用. 本文分享自华为云社区<[Go实现]实践GoF的23 ...