【JZOJ4208】线段树什么的最讨厌了【搜索】

逆向工程视角:MFI芯片通信协议在Linux环境下的行为分析 本文从逆向工程角度深入分析了MFI芯片在Linux环境下的通信协议行为,重点探讨了树莓派与MFI芯片通过I2C接口交互的技术细节。文章详细介绍了信号捕获、协议栈逆向、动态调试技巧以及安全机制分析,为开发者提供了在Linux驱动层面实现MFI认证的实用方法。 阅读详情

题目大意:

题目链接:https://jzoj.net/senior/#main/show/4208

这是一个线段树建树的代码。

void buildtree(int k1,int l,int r){
	if (l==r) return;
	int mid=(l+r)/2;
	buildtree(k1*2,l,mid); buildtree(k1*2+1,mid+1,r);
}

若一个根节点为 [ 0 , n ) ( n ∈ 0 ∼ l i m ) [0,n)(n\in0\sim lim) [0,n)(n∈0∼lim)的线段树包含了区间 l , r l,r l,r,求 n n n的最小值、


思路:

对于一个区间 l , r l,r l,r,长度为 l e n len len,它的父节点只可能有以下四个:

  • [ l , r + l e n − 1 ) [l,r+len-1) [l,r+len−1)
  • [ l , r + l e n ) [l,r+len) [l,r+len)
  • [ l − l e n , r ) [l-len,r) [l−len,r)
  • [ l − l e n − 1 , r ) [l-len-1,r) [l−len−1,r)

那么就从 l , r l,r l,r往上搜索,取最优答案即可。
然后就能愉快的拿到 30 30 30分。
这样的时间复杂度太高了。考虑剪枝。
我们发现,如果 l l l不是 0 0 0的话,那么就可以扩张到区间 [ l , r + l e n − 1 ) [l,r+len-1) [l,r+len−1)或 [ l , r + l e n ) [l,r+len) [l,r+len)。那么此时 l l l还是不等于 0 0 0,所以只有往左扩张才可能使 l l l为 0 0 0。但是扩张一次就相当于长度乘 2 2 2,也就是往左扩张 2 l e n 2len 2len。但是如果 l &lt; 2 l e n l&lt;2len l<2len,那么就无法扩张,所以也就无法扩张成 [ l , r + l e n − 1 ) [l,r+len-1) [l,r+len−1)或 [ l , r + l e n ) [l,r+len) [l,r+len)。
这样就可以过了。


代码:

#include <cstdio>
#include <iostream>
using namespace std;
typedef long long ll;

ll L,R,lim,ans,Read;
int T;
char ch;

ll read()
{
	Read=0;
	ch=getchar();
	while (ch<'0'||ch>'9') ch=getchar();
	while (ch>='0'&&ch<='9')
		Read=(Read<<3)+(Read<<1)+ch-48,ch=getchar();
	return Read;
}

ll write(ll x)
{
	if (x>9) write(x/10);
	putchar(x%10+48);
}

void dfs(ll l,ll r)
{
	if (l<0||r>lim) return;  //超过范围
	if (!l)  //满足要求
	{
		ans=min(ans,r);
		return;
	}
	ll len=r-l+1;
	if (l>=len*2-1) dfs(l,r+len-1);
	if (l>=len*2) dfs(l,r+len);  //剪枝
	dfs(l-len,r);
	dfs(l-len-1,r); 
}

int main()
{
	T=read();
	while (T--)
	{
		L=read(),R=read(),lim=read();
		if (L==R) write(L);
		else
		{
			ans=lim+1;
			dfs(L,R);
			if (ans<lim) write(ans);
				else putchar('-'),putchar('1');
		}
		putchar(10);
	}
	return 0;
}
告别环境配置烦恼:用Conda一键搞定GATK4、samtools、fastp等生信分析全家桶 本文介绍如何利用Conda快速搭建包含GATK4、samtools、fastp等工具的生物信息学分析环境,解决软件安装和版本冲突问题。通过详细的配置步骤和实战案例,帮助研究者十分钟内完成重测序分析全家桶的环境配置,显著提升上游分析效率。 阅读详情

相关推荐

Cadence Virtuoso实战:用gm/Id方法搞定折叠式共源共栅放大器设计(附完整仿真流程)

本文详细介绍了在Cadence Virtuoso设计环境中,运用gm/Id方法高效设计折叠式共源共栅放大器的完整实战流程。该方法通过工艺特征曲线,将设计指标映射到晶体管尺寸与偏置,有效克服深亚微米工艺下传统方法的不足。文章以TSMC 180nm工艺为例,从指标拆解、参数查找、电路搭建、仿真验证到问题调试,提供了清晰、可复现的操作指南,并探讨了自动化脚本与版图考量,助力工程师和学生提升模拟IC设计效率与成功率。

jwt8token的博客 647

[JZOJ4208]「五校联考1day1」『DFS』线段树什么的最讨厌了

小Y 最近学习了线段树,但是由于她的智商比较低,运用的还不是很熟练。于是小R 给了她一点练习题训练,其中有一道是这样的。 这是小R 写的线段树的一段建树代码: 只要调用buildtree(1,0,n) 就可以得到一颗线段树了。显然,一颗线段树一共有O(n) 个节点,因为每一个节点都代表了一个不同的区间,所以线段树上一共出现了O(n) 个不同的区间。 现在小R 给了你一个区间[l; r],他想要你告诉他一个最小的n 使得区间[l; r] 出现在了用buildtree(1,0,n) 建出来的线段树中。

LZX_lzx的博客 213

【QT】QtCreator卸载与安装(非正常状态)

QtCreator卸载与安装(非正常状态)

Cappuccino Blog 1万+

线段树什么的最讨厌了

Description 小Y 最近学习了线段树,但是由于她的智商比较低,运用的还不是很熟练。于是小R 给了她一点练习题训练,其中有一道是这样的。 这是小R 写的线段树的一段建树代码: 只要调用buildtree(1,0,n) 就可以得到一颗线段树了。显然,一颗线段树一共有O(n) 个节点,因为每一个节点都代表了一个不同的区间,所以线段树上...

235

从Podfile到分享成功:ShareSDK小红书模块集成全流程实战(附视频分享代码)

本文详细介绍了iOS应用如何通过ShareSDK集成小红书分享功能的全流程,包括环境配置、SDK初始化、图片和视频分享实现,以及常见问题排查和性能优化策略。特别针对视频分享这一高频需求场景,提供了完整的代码示例和实战技巧,帮助开发者快速实现社交分享功能。

weixin_42540248的博客 226

卷积层 (Convolutional Layer) 原理与代码实例讲解

卷积层 (Convolutional Layer) 原理与代码实例讲解 关键词:卷积层,卷积操作,滤波器,特征提取,神经网络 1. 背景介绍 卷积神经网络 (Convolutional N

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 769

jzoj4208-线段树什么的最讨厌了【dfs】

正题 题目大意 一个0∼n0\sim n0∼n的线段树包含l∼rl\sim rl∼r的区间,求最小的nnn 解题思路 dfsdfsdfs一下,从下面开始往上扩展区间,知道变成0∼x0\sim x0∼x的格式就就可以去最小值了。 记得剪枝 codecodecode #include&lt;cstdio&gt; #include&lt;algorithm&gt; #define ll long ...

QuantAsk 420

万字长文:YOLOv5+RK3588 NPU多线程加速全攻略——从理论到部署的终极优化

RK3588 NPU多线程加速优化教程摘要 本教程深入讲解了如何利用线程池技术优化RK3588 NPU上的YOLO目标检测模型推理性能。RK3588内置3个NPU核心,理论算力达6TOPS,为多线程优化提供了硬件基础。教程详细解析了线程池的核心组件(任务队列、工作线程、同步机制)和实现架构,包括类设计、初始化流程、工作线程逻辑(任务获取、NPU推理、结果存储三个阶段)以及任务提交/获取机制。通过预分配模型实例、线程绑定、流量控制等优化手段,实现了从单线程28FPS到多线程120FPS的显著性能提升,为边缘A

LXY_LOVE36的博客 1101

【搜索】JZOJ_4208 线段树什么的最讨厌了

题意 构建一棵线段树的函数为build(1,0,n)build(1,0,n)build(1,0,n)。 给出ttt个询问,求出区间[l,r][l,r][l,r]能在这棵树中出现的最小的nnn。 思路 从下往上搜上去,区间[l,r][l,r][l,r]可能由四种情况传下来。 [l,2r−l][l,2r-l][l,2r−l] [l,2r−l+1][l,2r−l+1][l,2r−l+1] [2l−r−2...

GOODPLACE 240

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

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

qq_45147279的博客 1087

拆解全球18大“支付清算”体系:CLS、中国、美国、欧洲、日本、mBridge...

拆解全球18大“支付清算”体系:CLS、中国、美国、欧洲、日本、mBridge...

银行信息系统应用架构详解 883

jzoj4208. 线段树什么的最讨厌了(B组——Day4)

jzoj4208. 线段树什么的最讨厌了(B组——Day4) 题目 Description 小Y 最近学习了线段树,但是由于她的智商比较低,运用的还不是很熟练。于是小R 给了她一点练习题训练,其中有一道是这样的。 这是小R 写的线段树的一段建树代码: 只要调用buildtree(1,0,n) 就可以得到一颗线段树了。显然,一颗线段树一共有O(n) 个节点,因为每一个节点都代表了一个不同的区间,所以...

SSL_Yyx的博客 277

【WRF安装】WRF编译错误:problems building executables look for error in the build log

WRF编译错误:problems building executables look for error in the build log

WW、forever的博客 752

[jzoj 4208]【五校联考1day1】线段树什么的最讨厌了 {dfs}

题目 Description 小Y 最近学习了线段树,但是由于她的智商比较低,运用的还不是很熟练。于是小R 给了她一点练习题训练,其中有一道是这样的。 这是小R 写的线段树的一段建树代码: 只要调用buildtree(1,0,n) 就可以得到一颗线段树了。显然,一颗线段树一共有O(n) 个节点,因为每一个节点都代表了一个不同的区间,所以线段树上一共出现了O(n) 个不同的区间。 现在小R 给了你...

Nowed 425

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jzoj(senior)4208. 【五校联考1day1】线段树什么的最讨厌了

题目链接 题解:反着搜,从[l,r]区间去拓展到其他四个区间[l,2r-l],l,2r-l+1,[2l-r-2,r]2l-r-1,r,然后dfs这四个区间就好啦! #include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm&g...

哈哈哈 199

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

天助自助者,你要你就能 jzoj 2017.8.23

第一题 【五校联考1day1】线段树什么的最讨厌了 (Standard IO) Time Limits: 1000 ms Memory Limits: 524288 KB Detailed Limits Goto ProblemSet Description小Y 最近学习了线段树,但是由于她的智商比较低,运用的还不是很熟练。于是小R 给了她一点练习题训练,其中有一道是这样的。 这是小R 写

ojzha的博客 1118

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

2019.01.21【NOIP提高组】模拟 B 组 总结

题目 今天本以为拿下个好成绩,一鸣惊人,第一题原先打算打一个二分(作基础),结果舞弄了一个小时,才发现数据不满足单调性,(我竟然明明知道时间不够,还无聊地对拍开来)只能勉强拿个暴力就走掉。然后有因为语文水品太差了,第二道题目竟然不会理解(连30分的暴力分都扔掉了!!!)。第三题呢,想了一想,发现B数组是前缀和,图有点儿像树状数组(鉴于水平太差,只能观望)。然后呢? 感觉第三题可以打部分分...

Nowed 522

2019.1.21【NOIP提高组】模拟B组 总结

纪中Day 4,Rank 14,同届Rank 1,+NOIP Rank 2

Ajwallet 438

【五校联考1day1】线段树什么的最讨厌了

题目大意 只要调用buildtree(1,0,n) 就可以得到一颗线段树了。显然,一颗线段树一共有O(n) 个节点,因为每一个节点都代表了一个不同的区间,所以线段树上一共出现了O(n) 个不同的区间。 现在给了你一个区间[l, r],他想要你告诉他一个最小的n 使得区间[l; r] 出现在了用buildtree(1,0,n) 建出来的线段树中。 题目解析 看到给定的buildtree(1,0,n...

AAA_Ljw 262

【洛谷P1236】算24点【搜索】

比较简单的搜索题,注意细节即可

stoorz 1666

【洛谷P4205】智慧珠游戏【dfs】

题目大意: 题目链接:https://www.luogu.org/problem/P4205 智慧珠游戏拼盘由一个三角形盘件和 12 个形态各异的零件组成。拼盘的盘 件如图 1 所示 可以放到盘件的任一位置,条件是能有地方放,且 尺寸合适,所有的零件都允许旋转(0º、90º、180º、270º)和翻转(水平、竖直)。 现给出一个盘件的初始布局,求一种可行的智慧珠摆放方案,使所有的零件 都能放...

stoorz 1555

【JZOJ5776】小x游世界【换根法】【DP】【DFS】

题目大意: 题目链接:https://jzoj.net/senior/#main/show/5776 题目图片: http://wx4.sinaimg.cn/mw690/0060lm7Tly1fvjhzcpt7jj30j50f1aaw.jpg http://wx1.sinaimg.cn/mw690/0060lm7Tly1fvjhzchmayj30j30e5t8x.jpg http://wx4.si...

stoorz 1091

【JZOJ3888】正确答案【模拟】【dfs】

题目: 题目链接:https://jzoj.net/senior/#main/show/3888 小H与小Y刚刚参加完UOIP外卡组的初赛,就迫不及待的跑出考场对答案。 “吔,我的答案和你都不一样!”,小Y说道,”我们去找神犇们问答案吧”。 外卡组试卷中共有m道判断题,小H与小Y一共从其他n个神犇那问了答案。之后又从小G那里得知,这n个神犇中有p个考了满分,q个考了零分,其他神犇不为满分或零分。这...

stoorz 989

【CSP-S 2019】【洛谷P5666】树的重心【主席树】【树状数组】【dfs】

菜菜菜菜菜菜菜 终于改出来了qwq

stoorz 788

【洛谷P5651】基础最短路练习题【dfs】【并查集】

题目: 给定nnn个点mmm条边的无向简单联通图GGG,边有边权。保证没有重边和自环。 定义一条简单路径的权值为路径上所有边边权的异或和。 保证GGG中不存在简单环使得边权异或和不为0。 QQQ次询问xxx到yyy的最短简单路径。 思路: 题目保证了每一个简单环的异或和均为0。也就是说对于环上的任意两点(x,y)(x,y)(x,y),从x→yx\to yx→y的两条路径的权值相等。 所以对于每一...

stoorz 704

数字游戏【dfs】

卡常神题orzorz

stoorz 676
上一篇: 【JZOJ4231】寻找神格【分块】
下一篇: 【JZOJ4209】已经没有什么好害怕的了【差分】
stoorz1023
博客等级 码龄9年 101粉丝 595原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值