校门外有很多树

SAP FI 提示没有为会计年度0 定义版本2025 GP626 SAP 错误 GP626 是一个常见的系统消息,通常表示某个会计年度的版本(如版本 0)未被定义或未激活。:在执行某些事务(如创建采购订单、过账凭证或维护成本中心)时,系统会检查相关版本是否已定义。的“Settings for Each Fiscal Year”界面中,选择一个已激活的会计年度。的“Settings for Each Fiscal Year”界面中,找到未激活的会计年度。:在控制范围(Controlling Area)中,未为指定的会计年度定义版本 0。如果没有,添加或复制现有年度的设置。 阅读详情

校门外有很多树

Description

校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的…… 
如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作: 
K=1,读入l,r表示在l~r之间种上的一种树 
K=2,读入l,r表示询问l~r之间能见到多少种树 
(0<l,r)

Input

第一行n,m表示道路总长为n,共有m个操作 
接下来m行为m个操作 

Output

对于每个k=2输出一个答案

Sample Input

5 4
1 1 3
2 2 5
1 2 4
2 3 5

Sample Output

1
2

Hint

20%的数据保证,n,m<=100 
60%的数据保证,n <=1000,m<=50000 
100%的数据保证,n,m<=50000

Source

vijos



相当于求线段相交。

与[a,b]相交线段条数=总的线段条数-起点在[0, a-1]的线段条数-起点在[b+1, n]的线段条数。

#include <stdio.h>
#define maxn 50000
struct node{int a, b, l, r, cnt;}StartTree[maxn*2+9], EndTree[maxn*2+9];
int StartTot=0, EndTot=0;
void MakeStartTree(int x, int y)
{
	int now=++StartTot;
	StartTree[now].a=x;
	StartTree[now].b=y;
	StartTree[now].cnt=0;
	if(x<y)
	{
		StartTree[now].l=StartTot+1;
		MakeStartTree(x, (x+y)/2);
		StartTree[now].r=StartTot+1;
		MakeStartTree((x+y)/2+1, y);
	}
}
void InsertStart(int now, int k)
{
	if(StartTree[now].a<=k&&k<=StartTree[now].b)
	{
		StartTree[now].cnt++;
		InsertStart(StartTree[now].l, k);
		InsertStart(StartTree[now].r, k);
	}
}
int AskStart(int now, int x, int y)
{
	if(x<=StartTree[now].a&&StartTree[now].b<=y)	return StartTree[now].cnt;
	int lcnt=0, rcnt=0, mid=(StartTree[now].a+StartTree[now].b)/2;
	if(x<=mid)	lcnt=AskStart(StartTree[now].l, x, y);
	if(y>mid)	rcnt=AskStart(StartTree[now].r, x, y);
	return lcnt+rcnt;
}
void MakeEndTree(int x, int y)
{
	int now=++EndTot;
	EndTree[now].a=x;
	EndTree[now].b=y;
	EndTree[now].cnt=0;
	if(x<y)
	{
		EndTree[now].l=EndTot+1;
		MakeEndTree(x, (x+y)/2);
		EndTree[now].r=EndTot+1;
		MakeEndTree((x+y)/2+1, y);
	}
}
void InsertEnd(int now, int k)
{
	if(EndTree[now].a<=k&&k<=EndTree[now].b)
	{
		EndTree[now].cnt++;
		InsertEnd(EndTree[now].l, k);
		InsertEnd(EndTree[now].r, k);
	}
}
int AskEnd(int now, int x, int y)
{
	if(x<=EndTree[now].a&&EndTree[now].b<=y)	return EndTree[now].cnt;
	int lcnt=0, rcnt=0, mid=(EndTree[now].a+EndTree[now].b)/2;
	if(x<=mid)	lcnt=AskEnd(EndTree[now].l, x, y);
	if(y>mid)	rcnt=AskEnd(EndTree[now].r, x, y);
	return lcnt+rcnt;
}
int main()
{
	int n, m, tot=0, a, b;
	scanf("%d%d", &n, &m);
	MakeStartTree(1, n);
	MakeEndTree(1, n);
	int sel;
	while(m--)
	{
		scanf("%d%d%d", &sel, &a, &b);
		if(1==sel)
		{
			InsertStart(1, a);
			InsertEnd(1, b);
			tot++;
		}
		else
		{
			printf("%d\n", tot-(AskEnd(1, 1, a-1)+AskStart(1, b+1, n)));
		}
	}
	return 0;
}

树状数组

#include <stdio.h>
#define maxn 50000
int lowbit(int x)
{
	return x&(-x);
}
int s[maxn+9], e[maxn+9];//BIT:start point and end point
int main()
{
	int n, m, k, l, r, tot=0, leftend, rightstart;
	scanf("%d%d", &n, &m);
	for(int i=1; i<=m; i++)
	{
		scanf("%d%d%d", &k, &l, &r);
		l++;
		r++;
		if(1==k)
		{
			tot++;
			for(int j=l; j<=n; j+=lowbit(j))s[j]++;
			for(int j=r; j<=n; j+=lowbit(j))e[j]++;
		}
		else
		{
			leftend=0;
			for(int j=l-1; j; j-=lowbit(j))leftend+=e[j];
			rightstart=0;
			for(int j=n; j; j-=lowbit(j))rightstart+=s[j];
			for(int j=r; j; j-=lowbit(j))rightstart-=s[j];
			printf("%d\n", tot-leftend-rightstart);
		}
	}
	return 0;
}


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

相关推荐

NX二次开发(python)-坯料尺寸(一)

一般在产品制造过程中,往往要判断一个模型在出模方向上的最小包容盒尺寸,在NX中可以用坯料尺寸命令实现,当然也有相应的代码实现,这或许可以帮助我们实现一些产品的坯料尺寸批量输出,节省人力。

dasfanfan的博客 816

校门外的树 (树状数组)题解

校门外的树 (树状数组)题解 校门外的树 题目 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的…… 如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作: KKK=1,读入lll,rrr表示在lll~rrr之间种上的一种树 KKK=2,读入lll,rrr表示询问l~r之间能见到多少种树 (lll,rrr>0) 输入 第一行nnn,mmm表示道路总长为nnn,共有mmm个操作 接下来mmm行为mmm个操作 输出 对于每个kkk=2输出一

Y的博客 985

国内9大Coding Plan平台实测:CI/CD延迟与开发者体验横评

代码托管平台不仅是Git仓库,更是现代研发流程的‘生产力基建’核心。其底层能力涵盖Git协议优化、CI/CD调度实时性、制品库并发吞吐及RBAC权限收敛效率等关键维度。尤其在团队规模扩张、日均提交激增、多环境高频部署场景下,Webhook延迟、CI排队耗时、制品上传卡顿等应用层性能指标,远比网络层ping值更能决定开发效能。本文基于真实微服务项目(32模块、8.7万行/仓)与三类极端负载(长尾构建、热区冲突、制品洪峰),对国内9个满足Coding Plan标准的平台开展端到端压测,聚焦CI/CD延迟与开发者

weixin_29281941的博客 367

【树状数组】校门外的树

Description 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的…… 如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作: K=1,读入l,r表示在l~r之间种上的一种树 K=2,读入l,r表示询问l~r之间能见到多少种树 (l,r>0) Input 第一行n,m表示道路总长为n,共有m个操作 接下来m行为m个操作 Output 对于每个k=2输出一个答案 Sample Input 5 4 1 1 3 2 2 5 1 2 4 2 3

蒟蒻的OI路 416

便携式水下动态实时视频色彩还原设备,一键快速实现对水下偏色视频和图像的色彩还原处理

便携式水下动态实时视频色彩还原,一键快速对水下图像进行色彩校正,清晰度提升和亮度均衡处理,为水下资源勘探和科学考古,海洋生态环境监测,水下机器作业等应用提供有力的协助

weixin_43518680的博客 633

FortiGate-60E防火墙忘记密码?用Console线+TFTP重装固件v7.0.9全流程

本文详细介绍了当FortiGate-60E防火墙忘记密码且物理重置无效时,如何通过Console线连接并利用TFTP服务器重装固件(如v7.0.9)的全流程。从恢复原理、工具准备、网络配置到逐步执行命令,提供了完整的实战指南,帮助管理员彻底恢复设备出厂设置并重置密码。

snow3的博客 333

【题】【线段树】NKOJ 1317 校门外有很多树

NKOJ 1317 校门外有很多树 时间限制 : 10000 MS 空间限制 : 65536 KB 问题描述 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的…… 如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作: K=1,读入l,r表示在l~r之间种上的一种树 K=2,读入l,r表示询问l~r之间能见到多少种树

ANG 669

Argoverse2数据集保姆级导入教程:从下载到预处理全流程解析

本文详细解析了Argoverse2数据集的完整导入流程,从环境配置、数据下载到预处理和高效加载策略。作为自动驾驶领域的标杆数据集,Argoverse2提供多模态传感器数据和高精地图信息,帮助研究者快速搭建数据处理流水线。文章包含实用代码示例和性能优化技巧,特别适合自动驾驶算法开发者参考。

weixin_29035405的博客 335

[vijos 1448]: 校门外的树(树状数组/线段树)

描述校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的…… 如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作: K=1,K=1,读入l、r表示在区间[l,r]中种上一种树,每次操作种的树的种类都不同 K=2,读入l,r表示询问l~r之间能见到多少种树 (l,r>0) 格式输入格式第一行n,m表示道路总长为n,共有m个操作 接下

Edt! 797

避坑指南:QCustomPlot鼠标事件冲突解决方案(左键拖动vs右键框选)

本文深入解析QCustomPlot在QT框架下的高级交互实现,重点解决左键拖动与右键框选的冲突问题。通过自定义事件处理和QRubberBand技术,提供了一套完整的无冲突交互方案,帮助开发者优化数据可视化应用的用户体验。

moss5的博客 660

AgentScope 2.0 源码解析-工具系统解读:从内置工具到权限管控的完整实践

本文深入解析AgentScope 2.0工具系统的完整架构,覆盖内置工具集(文件读写、命令执行、搜索匹配)、MCP协议集成(STDIO/HTTP双传输、客户端封装、工作空间网关)、工具包管理与动态分组、权限引擎的多级决策机制(危险路径保护、只读识别、模式控制),以及自定义工具开发流程。通过分层架构图和时序图直观展示组件协作关系,结合安全最佳实践与故障排除指南,为开发者提供从工具使用到安全管控的全链路参考。

program哲学 567

校门外的树3

【题目描述】 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的…… 如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作: K=1,读入l,r表示在l~r之间种上的一种树 K=2,读入l,r表示询问l~r之间能见到多少种树 (l,r>0) 【输入格式】 第一行n,m表示道路总长为n,共有m个操作 接下来m行为m个操作 【输

Welcome to jrxjs's blog! 1234

多物理场光学仿真软件:Ansys Lumerical_(8).CHARGE解决方案详解

CHARGE 模块主要用于求解 Poisson 方程和连续性方程,以模拟半导体器件中的电荷分布和载流子输运。通过 CHARGE 模块,可以分析器件的能带结构、载流子浓度、电流密度等关键参数。这些参数对于理解器件的工作原理和优化设计至关重要。

kkchenjj的博客 1385

[NOIP2005 普及组] 校门外的树

某校大门外长度为l的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在l的位置;数轴上的每个整数点,即012l,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。

pleasantgoat17的博客 1399

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

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

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

校门外的树

问题 G: 校门外的树 时间限制:1 Sec内存限制:125 MB提交:5解决:3[提交] [状态] [讨论版] [命题人:外部导入] 题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,...,L,都种有一棵...

勤劳的码农 432

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

C++ [NOIP2005 普及组] 校门外的树

这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。输出一行一个整数,表示将这些树都移走后,马路上剩余的树木数量。我们可以把马路看成一个数轴,马路的一端在数轴。的马路上有一排树,每两棵相邻的树之间的间隔都是。第一行有两个整数,分别表示马路的长度。,表示一个区域的起始点和终止点的坐标。数轴上的每个整数点,即。NOIP 2005 普及组第二题。

Zr1ose的博客 1798

校门外的树c++解法

已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。某校大门外长度为 ll 的马路上有一排树,每两棵相邻的树之间的间隔都是 11 米。比如:l=5l=5,那么马路上默认有 66 棵树,分别种在0,1,2,3,4,50,1,2,3,4,5 这几个位置,现要求将 11-33 及 22-44 之间的树移走,那么需要移走 44 棵树,还剩 22 棵树。接下来 mm 行,每行两个整数 u,vu,v,表示一个区域的起始点和终止点的坐标。输出一行一个整数,表示将这些树都移走后,马路上剩余的树木数量。

2402_86761968的博客 965

【题解】【洛谷P1047】【数组】—— [NOIP2005 普及组] 校门外的树

平台为全国青少年提供最专业的编程教育服务,包括提供最新最详细的编程相关资讯、最专业的竞赛指导、最合理的课程规划等。本平台利用趣味性和互动性强的教学方式,旨在激发孩子们对编程的兴趣,培养他们的逻辑思维能力和创造力,让孩子们在轻松愉快的氛围中掌握编程知识,为未来科技人才的培养奠定坚实基础。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。输出一行一个整数,表示将这些树都移走后,马路上剩余的树木数量。的马路上有一排树,每两棵相邻的树之间的间隔都是。,表示一个区域的起始点和终止点的坐标。

Pantheraonca的博客 1506

[NOIP2005 普及组] 校门外的树c++语言

/从这个区间的头和尾开始,将所有区间内的树标记为访问过。第三遍,顺序访问路上的树,只要没访问过,计数加1,这样就求出了路上所有还存在的树的数目。//从0这个树开始,将这条路上所有的树标记为未访问过。第二遍,读入区间的头和尾,从这个区间的头开始循环,到尾结束,标记为访问过。//定义区间的头和尾。//计算未被访问过的树的数目。第一遍,将路上的所有树打上标记,表示这个点没有被访问过。cin>>L>>M;//标准输入,不解释。//以上不解释,应该都明白。

liyike52的博客 1112

校门外的树。。。。

某校大门外长度为 $l$ 的马路上有一排树,每两棵相邻的树之间的间隔都是 $1$ 米。我们可以把马路看成一个数轴,马路的一端在数轴 $0$ 的位置,另一端在 $l$ 的位置;- 对于 $100\%$ 的数据,保证 $1 \leq l \leq 10^4$,$1 \leq m \leq 100$,$0 \leq u \leq v \leq l$。接下来 $m$ 行,每行两个整数 $u, v$,表示一个区域的起始点和终止点的坐标。第一行有两个整数,分别表示马路的长度 $l$ 和区域的数目 $m$。

laocooon的博客 1049

洛谷P1047 [NOIP 2005 普及组] 校门外的树

某校大门外长度为l的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在l的位置;数轴上的每个整数点,即012l,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。

tonman7797的博客 967

1107:校门外的树

1107:校门外的树 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 52508 通过数: 27934 【题目描述】 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有...

LWX3289765163的博客 1156

Java实现 蓝桥杯VIP 算法训练 校门外的树

问题描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的...

南 墙 1万+
上一篇: 堆的基本操作
下一篇: 数列操作
Formiko
博客等级 码龄11年 20粉丝 67原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值