旅馆Hotel 题解

避坑指南:微信小程序蓝牙广播在iOS上的那些‘坑’(附serviceUuids传值解决方案) 本文深入解析微信小程序蓝牙广播在iOS平台上的开发难点,特别是`serviceUuids`传值解决方案。通过对比iOS与安卓的蓝牙协议实现差异,提供实战编码策略和硬件端配合方案,帮助开发者有效规避兼容性问题,提升蓝牙外围设备开发效率。 阅读详情

定义
计 0 为空房间,1 为有人的房间,[lx,rx]为当前线段树区间

定义线段树记录一下内容——

1. k0,[lx,rx]中连续最大空房间数量
2. l0,[lx,rx]中从左往右连续的空房间数量
3. r0,[lx,rx]中从右往左连续的空房间数量


pushup(int x)


pushup 时按照以下方式合并

对于K0——

1. 可以是lson.k0,

2. 也可以是rson.k0,

3. 还可能是lson.r0+rson.l0。

对于L0——

1. L0=lson.l0

2. 若lson.l0=lson.len,则L0=lson.len+rson.l0

对于R0——

1. R0=rson.r0

2. 若rson.r0=rson.len,则R0=rson.llen+lson.r0


pushdown


定义 tag 为线段树节点的 lazy_tag
1. tag=-1 时,不下传
2. tag!=-1 时,表示是下传全空还是全满
3.

   void pushdown(int x){
    if(tree[x].tag==-1)return;
    if(tree[x].tag){
        tree[ls(x)].k0=tree[ls(x)].l0=tree[ls(x)].r0=0;
        tree[rs(x)].k0=tree[rs(x)].l0=tree[rs(x)].r0=0;
        tree[ls(x)].tag=tree[rs(x)].tag=1;
    }
    else{
        tree[ls(x)].k0=tree[ls(x)].l0=tree[ls(x)].r0=(tree[ls(x)].r-tree[ls(x)].l+1);
        tree[rs(x)].k0=tree[rs(x)].l0=tree[rs(x)].r0=(tree[rs(x)].r-tree[rs(x)].l+1);
        tree[ls(x)].tag=tree[rs(x)].tag=0;
    }
    tree[x].tag=-1;
    return;
}


query

权值线段树的思想走

int query(int x,int len){
    if(tree[x].k0<len)return 0;
    if(tree[x].l==tree[x].r)return tree[x].l;
    pushdown(x);
    if(tree[ls(x)].k0>=len)return query(ls(x),len);
    if(tree[ls(x)].r0+tree[rs(x)].l0>=len)return tree[ls(x)].r-tree[ls(x)].r0+1;
    return query(rs(x),len);
}

Code

#include<bits/stdc++.h>
#define ls(x) ((x)<<1)
#define rs(x) ((x)<<1|1)
using namespace std;
const int MAXN=50000;
int n,m;
struct Node{
	int k0,l0,r0,l,r,tag;
}tree[MAXN*4+1];
void pushup(int x){
	int mid=tree[x].l+tree[x].r;mid>>=1;
	tree[x].k0=max({tree[ls(x)].k0,tree[rs(x)].k0,tree[ls(x)].r0+tree[rs(x)].l0});
	tree[x].l0=max(tree[ls(x)].l0,(tree[ls(x)].l0+tree[rs(x)].l0)*(mid-tree[x].l+1==tree[ls(x)].l0));
	tree[x].r0=max(tree[rs(x)].r0,(tree[rs(x)].r0+tree[ls(x)].r0)*(tree[x].r-mid==tree[rs(x)].r0));
	return;
}
void pushdown(int x){
	if(tree[x].tag==-1)return;
	if(tree[x].tag){
		tree[ls(x)].k0=tree[ls(x)].l0=tree[ls(x)].r0=0;
		tree[rs(x)].k0=tree[rs(x)].l0=tree[rs(x)].r0=0;
		tree[ls(x)].tag=tree[rs(x)].tag=1;
	}
	else{
		tree[ls(x)].k0=tree[ls(x)].l0=tree[ls(x)].r0=(tree[ls(x)].r-tree[ls(x)].l+1);
		tree[rs(x)].k0=tree[rs(x)].l0=tree[rs(x)].r0=(tree[rs(x)].r-tree[rs(x)].l+1);
		tree[ls(x)].tag=tree[rs(x)].tag=0;
	}
	tree[x].tag=-1;
	return;
}
void build(int x,int lx,int rx){
	tree[x].l=lx,tree[x].r=rx;tree[x].tag=-1;
	if(lx==rx){
		tree[x].k0=tree[x].l0=tree[x].r0=1;
		return;
	}
	build(ls(x),lx,(lx+rx)/2);
	build(rs(x),(lx+rx)/2+1,rx);
	pushup(x);
	return;
}
void change(int x,int L,int R,int d){
	if(L<=tree[x].l&&tree[x].r<=R){
		tree[x].tag=d;
		tree[x].k0=tree[x].l0=tree[x].r0=(d?0:(tree[x].r-tree[x].l+1));
		return;
	}
	pushdown(x);
	int mid=(tree[x].l+tree[x].r)>>1;
	if(L<=mid)change(ls(x),L,R,d);
	if(R>mid)change(rs(x),L,R,d);
	pushup(x);
	return;
}
int query(int x,int len){
	if(tree[x].k0<len)return 0;
	if(tree[x].l==tree[x].r)return tree[x].l;
	pushdown(x);
	if(tree[ls(x)].k0>=len)return query(ls(x),len);
	if(tree[ls(x)].r0+tree[rs(x)].l0>=len)return tree[ls(x)].r-tree[ls(x)].r0+1;
	return query(rs(x),len);
}
int main(){
	scanf("%d%d",&n,&m);
	build(1,1,n);
	while(m--){
		int op;scanf("%d",&op);
		if(op==2){
			int x,d;scanf("%d%d",&x,&d);
			change(1,x,x+d-1,0);
		}
		else{
			int d;scanf("%d",&d);
			int ans=query(1,d);
			printf("%d\n",ans);
			if(!ans)continue;
			change(1,ans,ans+d-1,1);
		}
	}
	return 0;
}

【100%通过率】华为od统一考试B卷【贪吃蛇】Python 实现 贪吃蛇是一个经典游戏,蛇的身体由若干方格连接而成,身体随蛇头移动。蛇头触碰到食物时,蛇的长度会增加一格。蛇头和身体的任一方格或者游戏版图边界碰撞时,游戏结束。 下面让我们来完成贪吃蛇游戏的模拟。给定一个N*M的数组arr,代表N*M个方格组成的版图,贪吃蛇每次移动一个方格。若arr[i][j] == ‘H’,表示该方格为贪吃蛇的起始位置;若arr[i][j] == ‘F’,表示该方格为食物,若arr[i][j] == ‘E’,表示该方格为空格。贪吃蛇初始长度为1,初始移动方向为向左。 阅读详情

相关推荐

Java本地AI推理初体验:Jlama+LangChain4j构建离线问答系统

Jlama 是专为 Java 生态设计的现代化大型语言模型(LLM)推理引擎,旨在让开发者无需依赖外部服务即可直接在 Java 应用中运行本地化模型推理。本文将结合Jlama + langchain4j 实现一个本地可运行的简单问答Demo。

2501_92589102的博客 407

线段树解决区间问题 - 旅馆问题P2894

第一行输入 n,m,n 代表有 n 个房间 (1≤n≤50,000),编号为 1∼n,开始都为空房,m 表示以下有 m 行操作 (1≤m<50,000),以下每行先输入一个数 i ,表示一种操作: 若 i 为 1,表示查询房间,再输入一个数 x,表示在 1,2,...,n 房间中找到长度为 x 的连续空房,输出连续 x 个房间中左端的房间号,尽量让这个房间号最小,若找不到长度为 x 的连续空房,输出 0。若找得到,在这 x 个空房间中住上人。 若 i 为 2,表示退房,再输入两个数 x,y 代表房间号

学习,你不是一个人在战斗 ~ 961302305(QQ,微信) 1391

AFSim仿真系统中的图像处理器:从静态图像到视频流的目标识别技术解析

本文深入解析了AFSim仿真系统中WSF_IMAGE_PROCESSOR图像处理器的核心功能与技术实现。它详细阐述了该处理器如何从静态图像与视频流中完成目标检测、跟踪与识别,将原始像素数据转化为可供指挥系统使用的轨迹情报,并重点介绍了其基于约翰逊准则的目标识别进阶逻辑、关键参数配置以及脚本扩展能力,为构建高逼真度仿真应用提供了实践指导。

cola5的博客 213

poj 3667 Hotel (线段树+区间合并)

Hotel Time Limit:3000MS Memory Limit:65536K Total Submissions:20468 Accepted:8924 Description The cows are journeying north to Thunder Bay in Canada to gain cu...

weixin_30477293的博客 109

IST——In-System-Test

安全性是自动驾驶平台的关键特性之一,而这些架构中使用的半导体芯片必须保证ISO 26262标准所要求的功能安全方面。为了监控由于现场缺陷导致的故障,在启动和/或关闭期间会自动运行系统内结构测试。当系统内测试(IST,In-System-Test)架构检测到任何永久性缺陷时,驾驶平台会做出响应,以实现系统的故障安全状态。汽车IC采用高质量测试方法进行筛选,以实现接近零的DPPM(每百万缺陷部件)。即使在这样的高测试标准下,由于环境或操作条件的影响,在系统现场运行过程中仍可能出现可靠性缺陷。

weixin_50518899的博客 3205

【实战解析】RTL8306MB交换芯片驱动开发中的RMII接口调试陷阱

本文通过一个RTL8306MB交换芯片驱动开发的实战案例,深入剖析了RMII接口调试中的经典陷阱。文章详细描述了因TX_EN与CRS_DV信号线交叉连接错误导致的“静默”故障,并分享了使用逻辑分析仪和示波器进行硬件排查的完整流程与核心技巧,为嵌入式网络驱动开发提供了宝贵的避坑指南。

weixin_29267307的博客 421

Hotel 旅馆 题解(From luoguBlog)

考试前深陷分块泥潭所以刚开始以为是分块。 然而这题数据水到暴力卡常都能AC 正解:万物皆可线段树 节点存储区间长度、区间最长连续空房长度、从左往右最长连续空房长度、从右往左最长连续空房长度。 维护后三个值即可。 #include<cstdio> #include<iostream> #include<cstring> using namespace std; i...

weixin_30814329的博客 306

Android系统内存和性能关系的调研

摘要:本文分析了低内存导致性能问题的判断方法和评估思路。通过监控/proc/vmstat中的allocstall_normal、pageoutrun等指标可判断内存回收频率,当MemFree、MemAvailable和Cached均低于500MB时可能出现明显卡顿。全文通过实验和理论验证分析,回答因内存瓶颈导致性能问题的一些分析和解决的思路。

jidapenglin28的专栏 128

线段树--hotel usaco feb08gold

【Usaco Feb08 Gold】旅馆 Time Limit:10000MS  Memory Limit:65536K Case Time Limit:1000MS Description 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光。作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的旅馆住宿。这个巨大的旅馆一共有N (1 贝茜一行,以及其他慕

INCINCIBLE的博客 949

[QMT量化交易小白入门]-四十九、中小盘策略是否还有未来,市值再平衡策略,年化收益率124%

该策略旨在通过定期再平衡持仓,保持投资组合中股票数量恒定(),并优先持有市值较小的股票。具体来说,策略每两天(period = 2)进行一次再平衡,根据当前市值对持仓进行调整,以实现微盘股的投资目标。中小市值策略对资金量要求有限制,资金量太大由于流动性不足,滑点可能较大,资金量太小,可能不能达到10-20只持仓,来分散风险,10-100w可能是比较理想的,后续可以根据波动率动态调仓,或波动率大于一定值时触发再平衡加入ROE或其他财务指标,或者研发投入强度大的专精特新企业,进行组合优化。

木头大左的博客 1183

Linux LT8912b调试记录(MIPI转LVDS/HDMI)

本文记录了在RK3588平台上使用LT8912B芯片实现MIPI转LVDS/HDMI的调试过程。主要包含设备树配置、驱动代码实现及常见问题解决。调试重点包括:1)正确配置1280x800分辨率的LVDS屏幕参数;2)确保I2C总线正常通信;3)解决花屏、图像抖动、黑屏等问题,涉及lane-rate计算、同步信号极性调整及MIPI模式选择。文中提供了详细的寄存器配置代码和故障排查方法,特别强调了I2C通信验证和电压匹配的重要性。通过参数优化和多种模式测试,最终实现了稳定的视频输出转换。

qq_45147279的博客 1086

[USACO08FEB]Hotel 题解

正确的题解 首先我们都知道这题要用线段树做。考虑维护靠左边的answer,靠右边的answer,和整个区间的answer,那么就珂以维护这道题目了。 这里比较复杂的有下传操作和上传操作。 上传 void pushUp(int pos, int l, int r){ seg[pos].ans = max(seg[pos << 1].rans + seg[pos << ...

weixin_30339457的博客 181

EtherCAT主站SOEM -- 0 -- 该EtherCAT主站SOEM专栏后续安排

SOEM(Simple Open EtherCAT Master)是一个开源的EtherCAT主站库,允许开发者构建自定义的EtherCAT主站应用程序。EtherCAT是一种实时以太网通信协议,广泛应用于工业自动化和机器控制领域。开源性质:SOEM是一个开源项目,这意味着开发者可以自由地查看、修改和分发代码。这使其成为工业自动化领域的一个强大工具,可以根据具体需求进行定制。EtherCAT主站实现:SOEM库提供了一个完整的EtherCAT主站实现,允许主站与多个EtherCAT从站设备进行通信。

常驻客栈的博客--嵌入式EtherCAT 6658

BZOJ 1593: [Usaco2008 Feb]Hotel 旅馆

Description 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光。作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的旅馆住宿。这个巨大的旅馆一共有N (1 <= N <= 50,000)间客房,它们在同一层楼中顺次一字排开,在任何一个房间里,只需要拉开窗帘,就能见到波光粼粼的湖面。 贝茜一行,以及其他慕名而来的旅游者,都是一批批地来到旅馆的服务台,希望

jjs98 986

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

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

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

NOIP模拟赛8.16 A、旅馆(USACO Hotel)

旅馆 【问题描述】 OIER 们最近的旅游计划,是到长春净月潭,享受那里的湖光山色,以及明 媚的阳光。你作为整个旅游的策划者和负责人,选择在潭边的一家著名的旅馆住 宿。这个巨大的旅馆一共有 N (1 <= N <= 50000)间客房,它们在同一层楼中顺次 一字排开,在任何一个房间里,只需要拉开窗帘,就能见到波光粼粼的潭面。 所有的旅游者,都是一批批地来到旅馆的服务台,希望能订到 ...

crosnken的博客 392

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

BZOJ1593: [Usaco2008 Feb]Hotel 旅馆 线段树

1593: [Usaco2008 Feb]Hotel 旅馆 Time Limit: 10 Sec  Memory Limit: 64 MB Description 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光。作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的旅馆住宿。这个巨大的旅馆一共有N (1 <= N <= 50,000)间客房,它们

Oakley 734

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

bzoj1593[Usaco2008 Feb]Hotel旅馆

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1593 题目大意: 有一家著名旅馆,这家旅馆一共有N 间客房,都在同一楼层,一字顺序排开。旅店前台的工作是忙碌的,他们需要处理订房请求和退房请求。有订房请求的游客会要求预定一 段连续的房间。如果能够满足客户的要求,前台总会尽量满足,如果有多处连续的空房可供预定,前台会...

210

1593: [Usaco2008 Feb]Hotel 旅馆

1593: [Usaco2008 Feb]Hotel 旅馆 Time Limit:10 SecMemory Limit:64 MBSubmit:391Solved:228[Submit][Status][Discuss] Description 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光。作为整个旅游的策划者和负责人,贝茜选择...

100

bzoj 1593: [Usaco2008 Feb]Hotel 旅馆 (线段树)

1593: [Usaco2008 Feb]Hotel 旅馆 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 647  Solved: 361 [Submit][Status][Discuss] Description 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光。作为整个旅游的策划者和负责人,贝茜选择在湖边

clover_hxy的博客 429

[BZOJ1593]Hotel旅馆

样例 样例输入 10 6 1 3 1 3 1 3 1 3 2 5 5 1 6 样例输出 1 4 7 0 5 一开始看到题,暴力分块来着,结果打完发现自己打了个假分块[哭][哭][哭],已经废到了分块都打不成[颓],结果,题解是个线段树,本来觉得自己线段树学的算是凑合的了,但是板子和脑子还是硬伤,...

weixin_30770783的博客 171

CF1344A Hilbert‘s Hotel题解

CF1344A Hilbert’s Hotel 题意:有一个房间编号到无穷大的旅馆(有0有负),每个房间都有一个客人,有一个位移量a数组,需要重新安排客人,新的规则就是把在kkk房间的客人转移到k+ak%nk+a_{k\%n}k+ak%n​房间,问最后是不是每个房间都不超过1个客人。 解法:题目的意思就是要找$

小白菜的博客 593

Codeforces Round #639 (Div. 2) C. Hilbert's Hotel题解

(这题一开始是真的读不懂 这题的题意大致就是: 希尔伯特旅馆内本来已经放满了人,我们输入一个数组,按照这个数组的规则给整个旅馆洗牌。 即对负无穷到正无穷的每一个数x,都把它移动到x+a~x mod n~这个新的位置 问在经过这样一系列操作之后,整个旅馆是否还是一个人占用一个房间? 思路: 旅馆里的所有人是以n为周期地进行处理的。比如cf给的第一个样例"1 14"就是以1为周期的x+k*1(x∈[0,1))都往后移动14个,显然这样仍然能够满足"每个人占用一个房间且没有空房间" 其实如果n=4,那我们只需要让

REXWind的博客 343

【题解】「USACO 2008 FEB」Hotel(线段树)

题面 【题目描述】 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光。作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的旅馆住宿。这个巨大的旅馆一共有N(1<=N<=50,000)N (1 <= N <= 50,000)N(1<=N<=50,000)间客房,它们在同一层楼中顺次一字排开,在任何一个房间里,只需要拉开窗帘,就能见到波...

_BOSS_的博客 860

『线段树』「USACO月赛」Hotel

题目描述 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及 明媚的阳光。作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的 旅馆住宿。这个巨大的旅馆一共有N (1 <= N <= 50,000)间客房,它们在同一层 楼中顺次一字排开,在任何一个房间里,只需要拉开窗帘,就能见到波光粼粼的 湖面。 贝茜一行,以及其他慕名而来的旅游者,都是一批批地来到旅馆的服务台, 希...

Ronaldo7_ZYB的博客 391

BZOJ 1593 : [Usaco2008 Feb]Hotel 旅馆

1593: [Usaco2008 Feb]Hotel 旅馆Time Limit: 10 Sec Memory Limit: 64 MB Submit: 750 Solved: 414 [Submit][Status][Discuss] Description奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光。作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的旅

ywq12138的博客 550
上一篇: 连通数 题解
下一篇: Centroids 题解
hzjphy
博客等级 码龄20年 17粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值