博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 1698
阅读量:6477 次
发布时间:2019-06-23

本文共 935 字,大约阅读时间需要 3 分钟。

  一道线段树的区间修改题,和POJ3468非常类似,都是利用lazy-tag来加快速度,lazy-tag在中有说明。不同之处在于这里是更改stick的类型,所以对tag直接赋值就行了。另外,初始的stick为1,所以在建树的时候需要注意。

#include
#include
#define MAX_HOOK 100005struct node{ int left; int right; int sum; int tag;}stick[4*MAX_HOOK];void build(int,int,int);void update(int,int,int,int);void pushdown(int);void pushup(int);int query(int,int,int);int main(){ int t,cas=1; scanf("%d",&t); while(t--) { int n,q,i; scanf("%d",&n); memset(stick,0,sizeof(stick)); build(1,1,n); scanf("%d",&q); for(i=0;i
=stick[root].right) { stick[root].sum=(stick[root].right-stick[root].left+1)*val; stick[root].tag=val; return ; } if(le>stick[root].right||ri
=stick[root].right) { return stick[root].sum; } if(le>stick[root].right||ri

转载于:https://www.cnblogs.com/coredux/archive/2012/08/07/2627209.html

你可能感兴趣的文章
001.为什么选择用AngularJs开发?
查看>>
前端大牛们都学过哪些?
查看>>
Spring MVC概述(2)
查看>>
利用simulink分析系统各种传递函数的BODE图、阶跃响应、单位脉冲响应
查看>>
在iOS当中发送电子邮件和短信
查看>>
python的单例模式
查看>>
13~1003的和
查看>>
myeclipse启动jboss报ERROR [MainDeployer] Could not create deployment
查看>>
pycharm如何新项目如何不默认创建虚拟环境(吐槽)
查看>>
Loadrunner检查点小结(很经典)
查看>>
MySQL字段类型详解
查看>>
位运算符
查看>>
Web框架及Django初始化
查看>>
Linear Regression(一)——
查看>>
ORACLE 的游标
查看>>
虚拟机安装的UBUNTU全屏的方法:
查看>>
java虚拟机类加载器
查看>>
ASP.NET状态管理之八(会话Session)
查看>>
I.MX6 Android 5.1.1 下载、编译
查看>>
background
查看>>