题意

n个铜棒子,对其进行区间修改,将区间中的棒子价值增加,问最后所有棒子的总价值是多少。
铜棒:1
银棒:2
金棒:3


思路

线段树模板题

建树时,每个节点值都为1,对其进行区间修改

最后输出根节点即为所求

代码

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define ll long long
#define N 100100
int lazy[4*N],sum[4*N];void build(int k,int l,int r)
{if(l==r){sum[k]=1;return;}int mid=(l+r)/2;build(k<<1,l,mid);build(k<<1|1,mid+1,r);sum[k]=sum[k<<1]+sum[k<<1|1];
}
void pushdown(int k,int l,int r)
{if(lazy[k]){lazy[k*2+1]=lazy[k*2]=lazy[k];sum[k*2]=lazy[k]*l;sum[k*2+1]=lazy[k]*r;lazy[k]=0;}
}
void update(int k,int l,int r,int x,int y,int v)
{if(x<=l&&r<=y){sum[k]=v*(r-l+1);lazy[k]=v;return;}int mid=(l+r)/2;pushdown(k,mid-l+1,r-mid);if(x<=mid) update(k*2,l,mid,x,y,v);if(mid<y) update(k*2+1,mid+1,r,x,y,v);sum[k]=sum[k*2]+sum[k*2+1];
}
int main()
{int cas=1,t,n,m;scanf("%d",&t);while(t--){memset(sum,0,sizeof(sum));memset(lazy,0,sizeof(lazy));scanf("%d%d",&n,&m);build(1,1,n);for(int i=0;i<m;i++){int t1,t2,t3;scanf("%d%d%d",&t1,&t2,&t3);update(1,1,n,t1,t2,t3);}printf("Case %d: The total value of the hook is %d.\n",cas++,sum[1]);}return 0;
}

Just a Hook(线段树模板)相关推荐

  1. 线段树模板题3:区间染色问题

    1.3线段树模板题3:区间染色问题 在DotA游戏中,帕吉的肉钩实际上是大多数英雄中最恐怖的东西.挂钩由长度相同的几个连续的金属棍组成. 现在,帕吉(Pudge)希望对挂接进行一些操作. 让我们将钩子 ...

  2. hdu1156(简单线段树 模板题)

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

  3. 线段树模板hdu 1754:I Hate It

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  4. hdu1754 I hate it线段树模板 区间最值查询

    题目链接:这道题是线段树,树状数组最基础的问题 两种分类方式:按照更新对象和查询对象 单点更新,区间查询; 区间更新,单点查询; 按照整体维护的对象: 维护前缀和; 维护区间最值. 线段树模板代码 # ...

  5. 【AHOI2009】【BZOJ1798】Seq 维护序列seq(线段树模板,易错提醒)

    problem 给定一个长为n的序列,m次询问 每次询问有3种操作 1.一段区间全部乘一个值 2.一段区间全部加一个值 3.询问一段区间和%P solution 不就一颗线段树么,看朕10分钟A掉.. ...

  6. 洛谷3373 线段树模板

    题目详情:https://www.luogu.org/problemnew/show/P3373 这个线段树模板写的头疼(最后纠错发现一个long long没开差点一口血喷出来),思路就是在普通的求区 ...

  7. ccf除法-线段树模板

    这题的要求是对区间处理,查询区间和,一看就是线段树模板题,下面是代码 #include<iostream> using namespace std; int pp[100001]; str ...

  8. 【线段树】[LUOGU 守墓人] [LUOGU 维护序列] 线段树模板题

    题目: 题目链接:[LUOGU 守墓人] 题解: 线段树单点修改,区间修改,单点查询,区间查询,一系列线段树基本操作,模板打就好. (回头再补一个分块和树状数组的这种板子题,就是用分块和树状数组再写一 ...

  9. ACM算法-----线段树模板

    上模板: const int MAX = 999999; struct treenode {int val;//树节点值int right, left;//左右区间 }tree[MAX]; int t ...

最新文章

  1. hog svm 视频 matlab,matlab版hog+svm图像二分类
  2. 《中秋书月》月圆之夜,我和德鲁克
  3. nodejs 之 nvm和pm2
  4. Cloudera CDP 企业数据云测试开通指导
  5. 在电脑上显示未知发布者怎么办_笔记本电脑显示器花屏怎么办?电脑屏幕花屏的解决方法...
  6. WordPress主题-Real Estate 7–房地产[更至v3.1.0]
  7. linux上oracle登堡测评,Oracle Data Guard Linux 平台 Physical Standby 搭建实例
  8. ggplot2如何实现1页多图
  9. MESSL(maven + extjs + spring portlet mvc + spring web flow + liferay )整合架构 7
  10. Caffe学习:pycaffe利用caffemodel进行分类=批处理
  11. lingo入门教程之三 --- 文件数据处理
  12. BUS hound使用
  13. SQLServer数据导入解决方案
  14. 【Python】:修改图片后缀
  15. ANSYS apdl命令流笔记14-------工作平面的变换与生成
  16. java小马哥百度网盘_思否编程(小马哥):Java 微服务实践 - Spring Boot / Spring Cloud全套,完整版下载 - VIPC6资源网...
  17. 工业器械视觉检测方案
  18. 电子商务多平台运营与实践课程设计
  19. 【推荐】2022年环保行业研究报告产业发展前景市场投资行情分析白皮书(附件中为网盘地址,报告持续更新)
  20. SpringCloud-3-Ribbon

热门文章

  1. 【精益生产管理】如何加强医院医疗质量管理
  2. 算法基础(Java)--回溯算法
  3. 深度学习和机器学习的区别
  4. 5G与WiFi6相爱相杀的关系
  5. DailyFi - 9.5 |Loot “生态项目”开始崭露头角?
  6. Docker基础及简单部署
  7. 【UGUI】Scroll View滚动视图
  8. 考研英语近义词与反义词·九
  9. 客户说发货慢怎么回复_发货慢怎么办,缺货断货如何留住客户,亲身经验分享给大家...
  10. LeetCode 454. 四数相加 II【哈希表】