HDU - 1698 Just a Hook (线段树区间修改模板题)

【ESP32】SPI SRAM memory test fail。External RAM failed memory test! log日志报错如下:这两条报错信息表明外部 SPI SRAM(静态随机存取存储器)的内存测试失败。 阅读详情

学长的模板非常好,我是来存模板的

区间修改若为赋值型的,则将lazy作赋值运算

区间修改若为增值型的,则将lazy作增值运算

代码

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define ls o<<1
#define rs o<<1|1
#define lson L,mid,ls
#define rson mid+1,R,rs
#define mdzz int mid=(L+R)>>1;
int N,M;
int tree[400025];
int label[400025];
void pushup(int o){
    tree[o]=tree[ls]+tree[rs];
}
void pushdown(int o,int k){
    if(label[o])
    {
        label[ls]=label[o];
        label[rs]=label[o];
        tree[ls]=label[o]*(k-(k>>1));
        tree[rs]=label[o]*(k>>1);
        label[o]=0;
    }
}

void build(int L,int R,int o){//建树
    if(L==R){
        tree[o]=1;
        return;
    }
    mdzz;
    build(lson);
    build(rson);
    pushup(o);
}
/*void update(int p,int L,int R,int o,int v){ //点修改
    if(L==R){
        tree[o]=v;
        return;
    }
    pushdown(o);
    mdzz;
    if(p<=mid) update(p,lson,v);
    else update(p,rson,v);
    pushup(o);
}*/
void update(int l,int r,int L,int R,int o,int v){//[l,r]区间修改
    if(l<=L&&R<=r){
        label[o]=v;
        tree[o]=v*(R-L+1);
        return;
    }
    pushdown(o,R-L+1);
    mdzz;
    if(l<=mid) update(l,r,lson,v);
    if(r>mid) update(l,r,rson,v);
    pushup(o);
}
/*long long query(int l,int r,int L,int R,int o){//[l,r]区间询问
    if(r>=R&&l<=L) return tree[o];
    pushdown(o,R-L+1);
    mdzz;
    long long ans=0;
    if(l<=mid)
        ans+=query(l,r,lson);
    if(r>mid)
        ans+=query(l,r,rson);
    return ans;
}*/

/*int query(int p,int L,int R,int o){//点询问
    if(L==R) return 0;
    pushdown(o);
    mdzz;
    if(p<=mid) return query(p,lson);
    else return query(p,rson);
}*/
int main()
{
    int T;
    scanf("%d",&T);
    char s;
    int a,b,z;
    int cas=1;
    while(T--)
    {
        memset(label,0,sizeof label);
        memset(tree,0,sizeof tree);
        scanf("%d%d",&N,&M);
        build(1,N,1);
        for(int i=0;i<M;i++)
        {
            scanf("%d%d%d",&a,&b,&z);
            update(a,b,1,N,1,z);
        }
        printf("Case %d: The total value of the hook is %d.\n",cas++,tree[1]);
    }
    return 0;
}

Chamfer Loss ChamferLoss是一种常用于3D点云(pointcloud)处理的损失函数,特别是在点云生成和对齐任务中。它的目的是度量两个点集之间的相似度,特别是在点云重建、配准或生成等任务中,常用于优化模型使得生成的点云更接近真实的点云。 阅读详情

相关推荐

用Unity Wheel Collider做坦克转向?3步实现履带式载具物理效果

本文详细解析了如何利用Unity的Wheel Collider组件实现履带式载具的差速转向物理效果。通过思维转换、场景搭建和核心代码实现三步,将Wheel Collider从模拟轮式车辆转向改造为控制履带扭矩差的系统,并深入探讨了参数调试与真实感提升的方法,帮助开发者打造物理反馈扎实的坦克或特种车辆模拟。

weixin_29009971的博客 222

HDU——1698(线段树区间修改模板题)Just a Hook

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 题意:有一个挂钩是由连续金属棒组成,金属棒编号为1~n,我们会进行若干的区间替换操作,问最后的金属棒总和价值是多少? 解题思路:这是一个典型的区间修改问题,我们按模板写就行,要注意的是这里是对金属棒进行替换,所以我们修改的时候一定要替换而不是相加,具体看代码。 AC代码: #include<bits/stdc++.h> #define rep(i,a,n) for (int i=a;i&lt

pursuit的博客 522

【STM32Cube HAL】输入捕获(六)——PWM测量

实验内容:使用通用定时器输入捕获测量信号的脉宽(检测按键按下的时间)。 一、原理图 二、 CubeMX配置 Step1.打开 STM32CubeMX,点击“New Project”,选择芯片型号,STM32F103VETx。 Step2.选择时钟源,并配置时钟树。选择Crystal/Ceramic Resonator,并配置系统时钟为72M。 Step3.配置SYS,我们这里选择的是Serial Wire。(正常情况配置不配置不影响,debug可以使用。但是你不可以把这...

HAHAHA 1万+

HDU 1698 Just a Hook(线段树区间修改)

题目链接:点击打开链接 题意: 输入一个n表示一段长度为n的区间,有n个编号为1~n的点,初始值全部为1。 有q个操作, 每个操作有3个数:l,r,v表示将区间l~r的所有元素修改为v。 求经过q次修改后的整个区间的值之和。 该题是最典型的线段树区间修改问题, 需要用到所谓的懒惰标记。   听起来挺难的,其实非常简单, 其原理如下: 因为修改很多值, 如果还是按照原来的更新方法, 每个结点

AC_Arthur的专栏 4607

ESP32-S3双屏AI吊坠:微型边缘智能终端设计实践

边缘智能终端是指在设备端完成数据感知、处理与响应的嵌入式系统,其核心在于低延迟、高隐私与弱网适应性。基于ESP32-S3等轻量级主控,通过语音唤醒、本地AI推理与双屏异步渲染等关键技术,可构建资源受限场景下的实用化人机交互节点。这类设计显著降低对云端依赖,提升实时性与数据安全性,广泛应用于智能穿戴、IoT交互面板及便携式语音设备。本文以‘璀璨·AI吊坠’为实例,深入解析双面圆形屏驱动、ES8311音频链路优化、VAD+Porcupine本地语音流水线,以及亚微安级低功耗状态机实现,为微型AI终端的软硬协同开

weixin_42348783的博客 632

模型优化系列——模型剪枝/量化概述

模型优化目的:通过减少模型大小,提高推理速度等使模型成功部署在各个硬件中并实时有效运作。

qq_61210574的博客 1292

线段树 单点修改+区间修改和查询 例题+代码

目录 【单点修改,区间查询 例题】 【hdu 1166 敌兵布阵】 【hdu 1754I Hate It 】 【区间修改,区间查询 例题】 【hdu 1698Just a Hook】 【单点修改,区间查询 例题】 1.单点修改、区间查询 - hdu 1166 敌兵布阵 2.单点修改、区间查询最值 - hdu 1754I Hate It 【hdu 1166 敌兵布阵】 ...

菜鸡成长史 1109

详解AUTOSAR:DaVinci Configurator导入ARXML配置(拓展篇—2)

DaVinci Configurator导入ARXML配置。

不脱发的程序猿 3324

HDU-1698 Just a Hook(线段树模板,懒标记区间修改)

HDU-1698 Just a Hook /* * HDU-1698 Just a Hook * http://acm.hdu.edu.cn/showproblem.php?pid=1698 */ #include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <queue> using namespace std; const

NaNa 168

《模型轻量化-剪枝蒸馏量化系列》YOLOv5无损剪枝(附源码)

无损剪枝模型到几百kb~

cv君的博客 3万+

【用unity实现100个游戏之1】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(一)(附源码)

俯视角射击游戏)是一类以俯视视角进行游戏展示的射击游戏。在这种游戏中,玩家控制着一个角色或载具,从俯视的角度上方观察游戏世界,并与敌人进行战斗。这种视角使玩家能够有更好的全局观察和策略性,同时也强调快速反应和精确射击。视角:俯视角度可以是固定的,也可以随着玩家角色的移动而变化,但都允许玩家以全局视角观察整个战场,有利于制定战略和规划行动。射击:玩家通常需要使用各种武器来与敌人进行战斗,包括枪械、爆炸物等。射击动作依赖于玩家的反应速度和准确性。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 7827

【题解】Just a Hook HDU - 1698(线段树 区间更新)⭐⭐⭐

Just a Hook HDU - 1698 In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the s...

Suprit's blog 699

基于深度学习的人脸识别考勤管理系统,采用YOLOv11和Dlib算法实现人脸识别和考勤签到,前台人脸识别和签到系统 + 后台人脸和考勤管理系统,全网独发

基于深度学习的口罩人脸识别的考勤管理系统,采用YOLOv11和Dlib算法实现人脸识别和考勤签到,前台人脸识别和签到系统 + 后台人脸和考勤管理系统,全网独发

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1820

hyu 1698 Just a Hook

hdu1698 Just a Hook 题目其实是比较基础的线段树区间更新题。然后要注意的是,make树的时候,lazy tag要记得归0(因为个人习惯是在初始化的时候直接把lazy tag=0初始化,因此,如果有多组数据,只是这样做而不在make的时候进行初始化就会有错误。) #include <bits/stdc++.h> using namespace std; usin...

qq_33843297的博客 173

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Just a Hook(HDU-1698线段树代码讲解很详细)

Problem Description In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the same length. Now Pudge wants to do some operations on the ho

weixin_44313771的博客 2754

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【HDU 1698 --- Just a Hook】线段树水题

【HDU 1698 --- Just a Hook】线段树水题 题目来源:点击进入【HDU 1698 — Just a Hook】 Description In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the sam

来日浅谈的博客 631

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【线段树】HDU 1698 Just a Hook

线段树 建树(pushup向上求和或者其他操作),是一个递归过程。tree[ ]要开4倍数组。为什么呢?其实2^x<=N<2^(x+1)个叶子,我们会有一个等比数列,N+N/2+N/3+...=(2^(x+1)-1)=2*2^x-1<=2*N-1<2*N,也就是最多有2N个结点,但是为什么开4倍数组?虽然我们只有2N个叶子,但是我们不能确定它们的标号是前2N个。而且我们...

L_X_ 197

hdu1698 Just a Hook 线段树【区间更新】

题目链接在这里 题目描述: 在[1, n]区间有金属棍,棍的材料有三种,每种有不同的价值。 现在有q种操作,每种操作有x y z三个数,意思是[ x,  y ]区间上的金属棍的价值置为z。求q次更新之后,整个区间的总价值是多少。 思路分析: 这是个区间更新操作,如果用暴力更新的方法肯定会超时,所以考虑用线段树。 代码如下: #include &lt;cstdio&gt; #incl...

Joel 253

[kuangbin带你飞]专题七 线段树E - Just a Hook HDU - 1698

E - Just a Hook HDU - 1698 #include<bits/stdc++.h> using namespace std; const int M = 100000+100; int st[M<<2],lazy[M<<2]; void pushdown(int l,int r,int rt) { if(lazy[rt]) { ...

bjfu170203101的博客 269

hdu 1698 Just a Hook

http://acm.hdu.edu.cn/showproblem.php?pid=1698 Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 21917    Accepted Submission(s)

大太阳 736

HDU 1698 Just a Hook(线段树区间更新)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 注意这个题目要输出的结果是整个区间的,因此不需要query函数,直接输出1节点的值。 #include #include using namespace std; #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 #define root 1

536

[HDU 1698]Just a Hook[线段树区间更新]

题目链接:[HDU 1698]Just a Hook[线段树区间更新] 题意分析: 屠夫的钩子被分割成n个节,每节初始时都有铜制,铜制每节价值为1.然后给出q个操作,改变段l,r的材料为其它材料。最终询问:此时钩子的总价值是多少? 解题思路: 线段树的区间更新。使用到了lazy思想,也就是代码中的add数组。 整个原理就是,更新的时候,当某段被包含在被更新区间内时,只需给该段标记一下改变

闲停 675

HDU - 1698 Just a Hook (线段树区间修改)

题目链接 题意: 区间修改,询问总和。 思路: 直接上线段树,裸题。 1 /* 2 * Author: windystreet 3 * Date : 2018-08-11 21:02:54 4 * Motto : Think twice, code once. 5 */ 6 #include<bits/stdc++.h> 7 ...

234

hdu1698-Just a Hook (线段树区间更新)(延迟标记)

Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 32616    Accepted Submission(s): 15997 Problem Description In the game

wangheng 465

HDU 1698 Just a Hook 线段树区间更改模板题

题目描述 In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the same length. Now Pu...

qq_43585641的博客 210

HDU - 1698 Just a Hook(区间修改+区间求和)

题目链接:\quadHDU - 1698题目大意:多组。给一个n,表示初始区间为[1,n],每个区间初始值都为1。\quad 多组。给一个n,表示初始区间为[1, n],每个区间初始值都为1。 q个操作,对于每个操作“abc”,表示将区间[a,b]改为c。最后输出区间[1,n]的总和。\quad q个操作,对于每个操作“a \quad b \quad c”,表示将区间[a, b]改为c。最后输出区

XzzF1024的博客 402
上一篇: CodeForces - 557B Pasha and Tea (贪心)
下一篇: HDU - 3577 Fast Arrangement (线段树区间修改及查询模板题)
T__TSZ
博客等级 码龄10年 2粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值