HDU1698 Just a Hook--线段树LAZY操作
来源:互联网 发布:汤不热类似的软件 编辑:程序博客网 时间:2024/06/05 22:53
#include <iostream> #include <cstdio> #include <cmath> #include <algorithm> using namespace std; #define ll long long #define FOR( i , a , b ) for ( int i = a ; i <= b ; ++ i ) #define Mid ((l+r)>>1) #define lson rt<<1,l,Mid #define rson rt<<1|1,Mid+1,r const int maxn = 100010; int sum[maxn<<2],add[maxn<<2]; void build(int rt,int l,int r){ add[rt] = 0; if(l == r) sum[rt] = 1; else{ build(lson); build(rson); sum[rt]=sum[rt<<1]+sum[rt<<1|1]; } } void pushDown(int rt,int len){ add[rt<<1] = add[rt<<1|1] = add[rt]; sum[rt<<1] = (len-(len>>1))*add[rt]; sum[rt<<1|1] = (len>>1)*add[rt]; add[rt] = 0; } void update(int rt,int l,int r,int L,int R,int z){ if(L <= l && r <= R){ add[rt] = z; sum[rt] = (r-l+1)*z; }else{ if(add[rt]) pushDown(rt,r-l+1); if(L <= Mid) update(lson,L,R,z); if(R > Mid) update(rson,L,R,z); sum[rt] = sum[rt<<1] + sum[rt<<1|1]; } } int main(){ int t,n,q,x,y,z; int cnt=1; scanf("%d",&t); while(t--){ scanf("%d%d",&n,&q); build(1,1,n); while(q--){ scanf("%d%d%d",&x,&y,&z); update(1,1,n,x,y,z); } printf("Case %d: The total value of the hook is %d.\n", cnt++,sum[1]); } return 0; }
阅读全文
0 0
- HDU1698 Just a Hook--线段树LAZY操作
- hdu1698 Just a Hook(线段树成段更新lazy)
- 【线段树】 hdu1698 Just a Hook
- Just a Hook(hdu1698,线段树)
- hdu1698 Just a Hook(线段树)
- 线段树之HDU1698 Just a Hook
- hdu1698 Just a Hook(线段树)
- Just a Hook HDU1698 线段树
- hdu1698 Just a Hook 线段树
- HDU1698[JUST A HOOK] 线段树
- 线段树 hdu1698 Just a Hook
- HDU1698:Just a Hook(线段树)
- hdu1698 Just a Hook (线段树)
- HDU1698 Just a Hook 【线段树】+【成段更新】+【lazy标记】
- HDU1698 Just a Hook(线段树+成段更新+lazy标记)
- hdu1698 Just a Hook 线段树之经典
- HDU1698--Just a hook--线段树区间更新
- HDU1698 Just a Hook 解题报告--线段树
- 关于Java中由继承关系的类对象的内容的执行顺序
- MFC中IPADDRESS控件的使用
- 快速搞定极光推送
- Win7(Windows 7)下用VS2013(Visual Studio 2013)编译live555
- Hive学习笔记 --- Hive元数据与数据存储
- HDU1698 Just a Hook--线段树LAZY操作
- js -- can not find module
- 使用百度地图导航到门店
- 关于扩展功能新增Markdown编辑器说明
- Spring-dataJpa配置
- maven的tomcat的插件配置
- Ubuntu创建Android Studio/Eclipse等快捷方式
- 红外模块android驱动添加
- DirectShow中获取Filter上的输入输出PIN