hdu 1698 Just a Hook(线段树)
来源:互联网 发布:矩阵特征分解的方法 编辑:程序博客网 时间:2024/05/16 09:49
懒惰标记
#include <cstdio>struct node{ int l,r,sum,lazy;};node segTree[400004];void Build(int t, int l, int r){ segTree[t].l = l; segTree[t].r = r; segTree[t].lazy = 0; if(l == r) { segTree[t].sum = 1; return ; } int mid = (l+r) >> 1; Build(t<<1,l,mid); Build(t<<1|1,mid+1,r); segTree[t].sum = segTree[t<<1].sum + segTree[t<<1|1].sum;}void pushDown(int t){ if(segTree[t].lazy) { segTree[t<<1].sum = (segTree[t<<1].r - segTree[t<<1].l + 1) * segTree[t].lazy; segTree[t<<1].lazy = segTree[t].lazy; segTree[t<<1|1].sum = (segTree[t<<1|1].r - segTree[t<<1|1].l + 1)*segTree[t].lazy; segTree[t<<1|1].lazy = segTree[t].lazy; segTree[t].lazy = 0; }}void Update(int t, int l, int r, int c){ if(segTree[t].l >= l && segTree[t].r <= r) { segTree[t].sum = (segTree[t].r - segTree[t].l + 1) * c; segTree[t].lazy = c; return ; } pushDown(t); if(r >= segTree[t<<1|1].l) Update(t<<1|1,l,r,c); if(l <= segTree[t<<1].r) Update(t<<1,l,r,c); segTree[t].sum = segTree[t<<1].sum + segTree[t<<1|1].sum;}int main(){ int t,n,o; int time = 0; scanf("%d",&t); while(t--) { ++time; scanf("%d",&n); Build(1,1,n); scanf("%d",&o); int a,b,c; for(int i = 0; i < o; ++i) { scanf("%d %d %d",&a,&b,&c); Update(1,a,b,c); } printf("Case %d: The total value of the hook is %d.\n",time,segTree[1].sum); } return 0;}
0 0
- 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 线段树
- 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 线段树
- Just a Hook - HDU 1698 线段树
- 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(线段树)
- 命令行执行php出现PHP Fatal error: Class ‘Redis’ not found in 错误
- Spring+SpringMVC+Mybatis+Maven搭建项目
- 解决 Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from
- [leetcode]382. Linked List Random Node
- 课后四
- hdu 1698 Just a Hook(线段树)
- Java类加载器的父委托机制探究
- mongodb安装
- 分类问题
- 第八周—C语言 穷举法(都要学c)
- Python边学边用 - 学校新闻爬取并通过邮件发送
- mysql查找字段空、不为空的方法总结
- error: LNK1112: 模块计算机类型“x86”与目标计算机类型“x64”冲突
- Android悬浮窗TYPE_TOAST小结: 源码分析