hdu1698 线段树

研究生研一学习机器学习ML、深度学习DL的规划 研究生学习机器学习DL、深度学习DL的规划 保上研之后也没有很好规划自己的学习路线,看到b站上的一位清华博士讲述他本科也是机械跨考计算机的学习路线,所以记录下来,从现在开始按照规划来一点一点地做好。 掌握python(推荐一周) 1.1 面向对象编程 廖雪峰python网站: https://www.liaoxuefeng.com 1.2 数据分析Numpy numpy 100题: https://www.yanxishe.com/columnDetail/24784 1.3数据分析pandas pan 阅读详情

题意:

初始钩子为1

区间修改:【l,r】钩子数都改为Z

最后仅一次查询:钩子总数

思路:

查询:维护区间加法和sum

修改:维护替换标记lazy

难度:0.6 

1014ms


#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
const int inf=0x3f3f3f;
struct Stree
{
	int val;
	int lazy;
} sts[4*100005]; //开4倍
int a[100005];

int pushup(int root)
{
	sts[root].val=sts[root<<1].val+sts[root<<1|1].val;
}
int pushdown(int root,int numl,int numr)
{
	if(sts[root].lazy!=0)
	{
		sts[root<<1].lazy=sts[root].lazy;
		sts[root<<1|1].lazy=sts[root].lazy;
		sts[root<<1].val=sts[root].lazy*numl;
		sts[root<<1|1].val=sts[root].lazy*numr;
		sts[root].lazy=0;
	}
}
void build(int l,int r,int root)//根节点从1开始吧
{
	if(l==r)//到达子节点
	{
		sts[root].val=a[l]=1;
	}
	else
	{
		sts[root].val=sts[root].lazy=0;//没了这句会WA,清空lazy跟val 
		int mid=(l+r)>>1;//(l+r)/2
		build(l,mid,root<<1);
		build(mid+1,r,root<<1|1);
		pushup(root);//更新本节点
	}
}
int query(int nowl,int nowr,int ql,int qr,int root)
{
	if(nowl>=ql&&nowr<=qr)
	{
		return sts[root].val;
	}
	int mid=(nowl+nowr)>>1;
	pushdown(root,mid-nowl+1,nowr-mid);
	
	int ans=0;
	if(ql<=mid)ans+=query(nowl,mid,ql,qr,root<<1);
	if(qr>mid)ans+=query(mid+1,nowr,ql,qr,root<<1|1);
	return ans;
}

void update(int nowl,int nowr,int ul,int ur,int root,int addval)//nowl,nowr 当前区间  ul,ur 需修改的区间
{
	if(ul<=nowl&&ur>=nowr)//当前区间是修改区间的子区间
	{
		sts[root].val=addval*(nowr-nowl+1);
		sts[root].lazy=addval;
		return ;
	}
	int mid=(nowl+nowr)>>1;
	pushdown(root,mid-nowl+1,nowr-mid);
	if(ul<=mid) update(nowl,mid,ul,ur,root<<1,addval);//左子树与修改区间有交集
	if(ur>mid)  update(mid+1,nowr,ul,ur,root<<1|1,addval);
	pushup(root);

}
void op(int n);
int main()
{
	int T,kase=0;
	scanf("%d",&T);
	while(T--)
	{
		int n,m;
		scanf("%d%d",&n,&m);
		build(1,n,1);
	//	op(n);
		int l,r,val;
		while(m--)
		{
			scanf("%d %d %d",&l,&r,&val);
			update(1,n,l,r,1,val);
		}
		printf("Case %d: The total value of the hook is %d.\n",++kase,query(1,n,1,n,1));
	}

}



void op(int n)
{
	printf("\n///////\n");
	int up=pow(2.0,ceil(log10((double)n)/log10(2.0))+1)-1;
	for(int i=1; i<=up; i++)
	{
		printf("%d ",sts[i].val);
		int t=log10((double)i+1.0)/log10(2.0);
		if(pow(2.0,t)==i+1)
			printf("\n");
	}
	printf("\n///////\n");
}

【OCPP】ocpp1.6协议3.3章节:功能配置文件及接口 Smart Charging Profile中定义了4个接口请求,即GetCompositeSchedule、ClearChargingProfile、SetChargingProfile和ClearCache等。Smart Charging: 包含智能充电相关的功能,如计划充电,报告充电计划,并改变充电速度。Core: 包含电动汽车充电相关的基础功能,如启动和停止充电,更改充电配置,报告充电状态等。Reservation: 包含预约服务相关的功能,如创建,取消和更改预约。 阅读详情

相关推荐

从CCS3.3到CCS10:工程迁移与开发环境升级全攻略

本文详细介绍了从CCS3.3迁移到CCS10的完整流程与实战指南。针对老旧DSP项目,阐述了升级的必要性,并逐步指导CCS10的安装配置、界面操作、核心的工程移植步骤,以及移植后常见的代码调整与问题解决方案,帮助开发者高效完成开发环境升级,充分利用新版本的工具链提升开发效率。

weixin_29304985的博客 377

HDU 1698(线段树,区间更新)

HDU 1698(线段树,区间更新)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

DGY01的博客 483

Buck电路中自举电容串联小电阻的作用

在Buck电路中,自举电容(Cboot)驱动高边MOSFET时,因寄生电感和电容会形成LC谐振回路,导致SW节点高频振铃,引发EMI问题。串联小电阻(Rboot)可引入阻尼效应,抑制振铃、改善波形和EMI性能,但会略微增加开关损耗。设计时建议预留可调电阻位(2Ω~20Ω),根据实测结果平衡效率与系统稳定性,提升电源可靠性。这一措施是优化开关电源EMC的常见实践。

硬核科技 625

【HDU1698】【线段树成段更新】

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

ACM之路 344

KiCad插件安装太慢?试试华秋版,再手把手教你装这5个实用插件

本文介绍了KiCad华秋发行版如何解决插件安装慢的问题,并详细推荐了5个实用插件及其安装方法。华秋版优化了国内用户的下载速度,预装了常用扩展包,包括BOM生成器、3D模型增强工具等,显著提升PCB设计效率。

weixin_29184075的博客 547

电压抬升电路设计

一、实验目的 掌握集成运放电压放大电路设计基本方法。 掌握基本仪器使用方法(电源、信号发生器、示波器)。 二、实验内容及结果 实验内容 基于集成运放设计一传感器信号采集电路。传感器输出信号在±50mV,频率为100Hz以内,模数转换器允许输入电压在0~5V,要求设计传感器与模数转换器之间的信号采集电路,实现传感器信号放大10倍,并适合模数转换器的输入。模数转换器的输入电阻为1KHz,设计电路时,可使用1KHz电阻作为信号采集电路负载,代替模数转换器。 实验具体要求如下: (1)确定电路形式,说明电压转

Safaearth的博客 4万+

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

【线段树区间更新】hdu1698 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 l

xuziling_的博客 230

PTGui使用教程

PTGui使用教程为啥使用ptgui开始使用ptgui 为啥使用ptgui ptgui是一个全景拼接软件,在海思hi3559上做视频拼接的时候,需要拼接参数,这是就需要使用到ptgui,这里可以在该网站下下载ptgui:下载地址 开始使用ptgui 第一步,加载图片,我这里添加了三幅图 然后添加控制点(可以先多对准几次图像,这样会自动生成一些控制点,但是不保证准确),建议控制点不要太密集 点开镜头设置,勾选以下几个选项以及配置好镜头类型,如下图 点开优化器,在高级界面中配置如下参数,最后点

what_wrong的博客 1万+

HDU 1698 线段树成段更新模板

只是基础的线段树成段更新模板~

P_rogrammer的专栏 408

基于Simulink的双PMSM差速驱动转矩同步控制建模示例

本文详细介绍了基于Simulink的双永磁同步电机(PMSM)差速驱动转矩同步控制建模方法。针对AGV/叉车等双电机独立驱动系统的转矩不同步问题,提出主从式+交叉耦合控制策略,在Simulink中实现直线行驶、90°转弯和单轮打滑恢复三种工况的仿真验证。通过动力学建模、参数差异设置、同步误差定义及控制律设计,最终实现同步误差<3%、转弯半径跟踪误差<5%、打滑后100ms内恢复的性能指标。文章特别强调了实际工程中的参数标定、通信同步和故障处理要点,并提供了完整的Simulink建模步骤和工具箱使

xiaoheshang_123的博客 204

28、基准剂量法:原理、应用与计算详解

本文详细介绍了基准剂量法(BMD)的原理、在监管机构中的应用以及具体的计算方法。内容涵盖样本量与BMD的关系、主要监管机构如EPA对BMD的应用、BMD的模型选择与数据拟合过程、拟合优度评估、下置信限(BMDL)计算,以及实验设计对BMD结果的影响。同时,还讨论了剂量指标和响应选择的关键问题,为理解和应用基准剂量法提供了全面的参考。

info6的博客 280

【题解】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

XXL-Job 分布式定时任务

XXL-JOB是一款轻量级分布式定时任务调度框架,采用调度中心与执行器分离架构,解决单机任务宕机、重复执行等问题。核心模块包括调度中心(管理任务配置、触发调度)和执行器(执行任务逻辑),支持集群部署保证高可用。框架提供丰富的任务触发规则、路由策略、阻塞策略及完善的运维能力,适用于多种业务场景如数据同步、定时推送等。安装时需准备MySQL数据库并初始化表结构,通过Docker部署调度中心服务。相比其他定时框架,XXL-JOB具有轻量化、可视化等优势,是中小企业的首选方案。

郭宝的博客 699

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

题目描述HDU 1698 Just a Hook解题思路题目大意: 每段区间有三类状态: 值为1, 2, 3 要求支持下列操作: 1) 修改区间的状态, 然后输出整个区间[1, n]的和 线段树成段更新的入门题, 具体看注释哈~参考代码#include <stdio.h> #define lson rt<<1 #define rson rt<<1|1 #define mid ((l+r) >

FZU_zyt的专栏_(:з」∠)_ 394

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

E - Just a Hook HDU 1698 (线段树+类似延迟标记)

E - Just a Hook Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Practice Description In the game of DotA, Pudge’s meat hook is actually the most horrible thing

qwesde 669

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

hdu1698 Just a Hook 线段树区间更新,延时标记

传送门:hdu1698 Just a Hook 题目大意有三种钩子,分为铜,银,金,对应的价值分别为1,2,3,一共有n个钩子,初始的时候每个钩子的都是铜的。先做如下操作对x到y区间的钩子改变为z价值(1~3)的,最后求出所有钩子的总价值。 输入:第一行输入t组测试数据 然后测试数据的第一行表示表示有多少个钩子 下面一行输入一个整数q表示有多少种操作 下面的q行是每一次操作是,x,y,z,表

woshinannan的专栏 476

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

hdu1698(线段树的区间替换)

HDU1698 #include <bits/stdc++.h> using namespace std; #define Maxn 1001000*4 struct Node{ int lt,rt,val; }A[Maxn]; int j = 1; void Build(int i,int lt,int rt){ A[i].lt = lt;...

weixin_30828379的博客 104

hdu 1698 just a hook(线段树区间更新)

题目连接:hdu 1698区间更新, 线段树维护两个关键值, 一个是col表示颜色,即题目那三种,另一个关键是保存区间和sum,col用延迟标记,即当需要访问到儿子结点的时候才把col传递下去,并且更新儿子结点的sum值代码:#include&lt;cstdio&gt; #define MAXN 100010 struct node{ int left, right, sum, col; }t...

比克大魔王的blog 259

hdu-1698(线段树,区间修改)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 注意:用位运算会更快,不然超时。 #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int maxn = 400400; int ...

weixin_30647065的博客 136

线段树(区间修改,直接更改值)HDU1698

线段树区间修改(加法+乘法)模板

m0_63569670的博客 228

HDU1698(线段树LAZY)

/* TASK:hdu1698 */ #include #include const int maxn=100000+10,maxm=100000+10; using namespace std; int a[maxn<<2],ans; void ts(int h,int s,int t,int L,int R,int ys){ if(L<=s && t<=R)a[h]=ys; else

Free Loop~~~跳动的音符 606

HDU 1698 Just a Hook (线段树)

http://acm.hdu.edu.cn/showproblem.php?pid=1698 /*843ms,2288KB*/ #include #include using namespace std; #define lson l , m , rt << 1 #define rson m + 1 , r , rt << 1 | 1 #define root 1, n, 1 co

AC,∑ndless 1171

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 169

hdu1698_Just a Hook(线段树)

开始超时,后来请教了hdu的大牛才过自己的超时版:/*  * File:   hdu1698.cpp * Author: Administrator * * Created on 2010年1月25日, 下午8:24 */#include #includeusing namespace std;#define N 100005struct Node {    int l, r, s

chenjiang492943457的专栏 487

【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

来日浅谈的博客 632

线段树区间更新(相对标记)hdu 1698

hdu 1698 (1)线段树区间更新: 分为两种更新方式:绝对标记,相对标记 相对标记:将一个区间内的值+x。 绝对标记:将一个区间内的值全部变为x。 我们在更新区间时是将区间分为若干个子区间进行更新, (eg:在1~13内更新区间2~5,是将前2~5分为2,3~4,5三个区间进行修改,所以修改的复杂度是logn级别的,具体如何 划分区间参见这篇文章) 但是并没有将被...

积少成多,水滴石穿 317
上一篇: hdu1754 线段树
下一篇: hdu1166 线段树单点更新区间查询
animalcoder
博客等级 码龄9年 43粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值