【线段树(lazy)】hdu 1698 Just a Hook
来源:互联网 发布:java入门书籍推荐排行 编辑:程序博客网 时间:2024/05/01 09:49
http://acm.hdu.edu.cn/showproblem.php?pid=1698
题意:对n个hook进行区间3种涂色操作,初始时颜色都为1,求总和
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int NM=100005;int T[NM*4],vau;void Build(int lf,int rg,int rt){T[rt]=1;if(lf==rg) return;int mid=(lf+rg)>>1;Build(lf,mid,rt<<1);Build(mid+1,rg,rt<<1|1);}void Update(int x,int y,int lf,int rg,int rt){//区间值相同不用修改if(T[rt]==vau) return;//修改区间相同if(lf==x&&rg==y){T[rt]=vau;return;}//区间为纯色,修改区域不一致时,现将子区域置为父值,在对子区域操作if(T[rt]!=-1){T[rt<<1]=T[rt<<1|1]=T[rt]; //迟缓更新(当区间值不再一致时,再更新)T[rt]=-1;}//以下为父区间为杂色时的操作int mid=(lf+rg)>>1;if(x>mid) Update(x,y,mid+1,rg,rt<<1|1);else if(y<=mid) Update(x,y,lf,mid,rt<<1);else {Update(x,mid,lf,mid,rt<<1);Update(mid+1,y,mid+1,rg,rt<<1|1);}}int Count(int lf,int rg,int rt){if(T[rt]!=-1) return (rg-lf+1)*T[rt];else {int mid=(lf+rg)>>1;return Count(lf,mid,rt<<1)+Count(mid+1,rg,rt<<1|1);}}int main(){int T,i,n,m,x,y;scanf("%d",&T);for(i=1;i<=T;i++){scanf("%d%d",&n,&m);Build(1,n,1);while(m--){scanf("%d%d%d",&x,&y,&vau);Update(x,y,1,n,1);}printf("Case %d: The total value of the hook is %d.\n",i,Count(1,n,1));}return 0;}
0 0
- 【线段树(lazy)】hdu 1698 Just a Hook
- HDU 1698 Just a Hook(线段树+lazy)
- hdu 1698 Just a Hook(线段树+lazy优化)
- hdu 1698 Just a Hook lazy线段树
- HDU 1698 Just a Hook (线段树延迟标记(lazy))
- HDU 1698Just a Hook(线段树 + Lazy Tag(延迟更新))
- HDU 1698 Just a Hook(线段树+简单lazy标记)
- hdu 1698 Just a Hook(线段树成段更新lazy)
- Just a Hook (线段树+lazy标记)
- HDU 1698-Just a Hook(线段树_区间更新+lazy标记)
- HDU 1698 Just a Hook 线段树+lazy-target 区间刷新
- HDU 1698 Just a Hook 线段树
- [hdu]1698 Just a Hook -- 线段树
- hdu 1698 Just a Hook 线段树
- HDU 1698 JUST A HOOK(线段树)
- HDU 1698 Just a Hook 线段树
- HDU 1698 Just a Hook(线段树)
- HDU 1698 just a hook 线段树
- 54款开源服务器软件(内容管理、数据库、电子商务、邮件服务器、文件传输、操作系统、安全、小公司服务 .
- WEB页面导出为Word文档后分页&横向打印的方法
- 用 SpriteKit 做一个逃逸游戏 (5)
- 数据库三范式总结
- 苹果IOS开发者个人账户总结
- 【线段树(lazy)】hdu 1698 Just a Hook
- iOS 7:在一般的 ViewController 中使用static cell
- 叠片过滤器与反冲洗前置过滤器原理介绍
- HDU 2576 Another Sum Problem
- 新手网站推广邮件群发一点心得
- alertdialog弹出式对话框
- 可以计算积的表格
- C#中使用try...catch...是否会影响程序性能
- (九)Spring2.5中Bean之间的相互引用