斐波那契数列下的兔子编号与LCA求解
时间限制: 1.000 Sec 内存限制: 128 MB题目描述小C养了一些很可爱的兔子。有一天小C突然发现兔子们都是严格按照伟大的数学家斐波那契提出的模型来进行繁衍一对兔子从出生后第二个月起每个月刚开始的时候都会产下一对小兔子。我们假定在整个过程中兔子不会出现任何意外。小C把兔子按出生顺序把兔子们从1开始标号并且小C的兔子都是1号兔子和1号兔子的后代。如果某两对兔子是同时出生的那么小C会将父母标号更小的一对优先标号。如果我们把这种关系用图画下来前六个月大概就是这样的其中一个箭头A-B表示A是B的祖先相同的颜色表示同一个月出生的兔子。为了更细致地了解兔子们是如何繁衍的小C找来了一些兔子并且向你提出了m个问题她想知道关于每两对兔子和他们的最近公共祖先是谁。你能帮帮小C吗一对兔子的祖先是这对兔子以及他们父母如果有的话的祖先而最近公共祖先是指两对兔子所共有的祖先中离他们的距离之和最近的一对兔子。比如5和7的最近公共祖先是21和2的最近公共祖先是16和6的最近公共祖先是6。输入输入第一行包含一个正整数m。输入接下来m行每行包含2个正整数表示和。输出输入一共m行每行一个正整数依次表示你对问题的答案。样例输入5 1 1 2 3 5 7 7 13 4 12样例输出1 1 2 2 4提示解题思路Fibonacci数列F(1)1F(2)1F(3)2F(4)3F(5)5F(6)8F(7)13F(8)21………………将所有的Fibonacci数放入数组bit中。可以发现规律11的祖先是其本身2在bit中小于2的最大的数是12的祖先是2-113在bit中小于3的最大的数是23的祖先是3-214在bit中小于4的最大的数是34的祖先是4-315在bit中小于5的最大的数是35的祖先是5-326在bit中小于6的最大的数是56的祖先是6-517在bit中小于7的最大的数是57的祖先是7-528在bit中小于8的最大的数是58的祖先是8-539在bit中小于9的最大的数是89的祖先是9-8110在bit中小于10的最大的数是810的祖先是10-8211在bit中小于11的最大的数是811的祖先是11-8312在bit中小于12的最大的数是812的祖先是12-8413在bit中小于13的最大的数是813的祖先是13-85…………………………………………………………在本题中规定1的辈份最大那么标号越大辈份越小所以求两个数a和b的LCA如果aba就是LCA(ab)。如果a!b如果ab更新a为a的祖先否则更新b为b的祖先。重复该操作直到ab。Accepted Code#includebits/stdc.h #define ll long long using namespace std; const ll limit1e1210; vectorllbit; void initialize(){ bit.push_back(1); bit.push_back(1); ll a1,b1; while(alimit){ ll tmpa; aab; btmp; bit.push_back(a); } } ll get_father(ll x){ if(x1)return 1; auto itlower_bound(bit.begin(),bit.end(),x); if(itbit.end())return x-bit.back(); else{ it--; return x-*it; } } ll lca(ll a,ll b){ while(a!b){ if(ab)aget_father(a); else bget_father(b); } return a; } int main() { ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); initialize(); ll m; cinm; while(m--){ ll a,b; cinab; coutlca(a,b)\n; } return 0; }

相关新闻

AI写论文首选!这4款AI论文写作工具,快速提升论文原创度!

AI写论文首选!这4款AI论文写作工具,快速提升论文原创度!

你是否还在为撰写期刊论文、毕业论文或职称论文而感到烦恼?在大量文献中寻找相关资料,就像是在茫茫大海中捞针一样;复杂的格式要求常常让我们焦虑不已,而一遍遍的修改工作又让耐心消磨殆尽,这种低效率确实让不少学术人…

2026/7/6 5:08:36 阅读更多 →
上班族2026年工作更轻松!OpenClaw(Clawdbot)快速集成教程

上班族2026年工作更轻松!OpenClaw(Clawdbot)快速集成教程

上班族2026年工作更轻松!OpenClaw(Clawdbot)快速集成教程。 OpenClaw(前身为Clawdbot/Moltbot)作为开源、本地优先的AI助理框架,凭借724小时在线响应、多任务自动化执行、跨平台协同等核心能力,…

2026/5/17 9:29:34 阅读更多 →
多模态语音转视频深度解析

多模态语音转视频深度解析

## 多模态语音转视频:当声音开始画画 最近一段时间,多模态语音转视频这个技术被讨论得挺多。听起来有点绕口,其实拆开来看就明白了。“多模态”指的是它处理的不止一种信息形式,比如声音、文字、图像,它都能理解并建立…

2026/7/6 1:24:27 阅读更多 →

最新新闻

毕设分享 深度学习手写数字识别系统(源码+论文)

毕设分享 深度学习手写数字识别系统(源码+论文)

文章目录 0 前言1 项目运行效果2 深度学习手写字符识别原理2.1 结构解析2.2 C1层2.3 S2层S2层和C3层连接 2.4 F6与C5层 3 写数字识别算法模型的构建3.1 输入层设计3.2 激活函数的选取3.3 卷积层设计3.4 降采样层3.5 输出层设计 4 网络模型的总体结构5 部分实现代码6 最后 0 前言…

2026/7/6 5:08:31 阅读更多 →
GPT-6 vs Claude 5:2026 提示词工程进阶对比

GPT-6 vs Claude 5:2026 提示词工程进阶对比

GPT-6 vs Claude 5:2026 提示词工程进阶对比大模型进入2026年,单纯的“对话”已无法胜任复杂的生产级任务。随着GPT-6和Claude 5相继发布,提示词工程从“艺术”变成了“科学”。面对原生思维链、超长上下文和Agent工作流的革新,开…

2026/7/6 5:06:30 阅读更多 →
从评判者到驾驭者——贾子理论“懂-用“二维框架与认知偏差校正

从评判者到驾驭者——贾子理论“懂-用“二维框架与认知偏差校正

从评判者到驾驭者 ——贾子理论"懂-用"二维框架与认知偏差校正摘要本研究以公理-定理-定律层级理论为研究对象,从科学哲学的本体论与认识论角度,系统探讨了客观规律描述体系的属性定位、人与客观规律之间的正确关系模式,并以贾子理论(Kucius Theory)为典型样本进行实…

2026/7/6 5:04:29 阅读更多 →
Alternative Mod Launcher:告别传统启动器,开启XCOM 2模组管理新时代

Alternative Mod Launcher:告别传统启动器,开启XCOM 2模组管理新时代

Alternative Mod Launcher:告别传统启动器,开启XCOM 2模组管理新时代 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https:/…

2026/7/6 5:00:28 阅读更多 →
Nmap网络扫描实战:从主机发现到渗透测试的完整指南

Nmap网络扫描实战:从主机发现到渗透测试的完整指南

1. 项目概述:为什么你需要掌握 Nmap? 如果你是一名系统管理员、网络安全工程师,或者只是对自家网络里到底有什么设备感到好奇的技术爱好者,那么 Nmap 这个名字你一定不陌生。它被誉为网络扫描领域的“瑞士军刀”,是进行…

2026/7/6 4:56:26 阅读更多 →
将智能体搜索引入地球观测数据发现

将智能体搜索引入地球观测数据发现

将智能体搜索引入地球观测数据发现 摘要 美国国家航空航天局(NASA)及其数据中心拥有数千个地球科学数据集和工具,如 Worldview、Giovanni、科学发现引擎(Science Discovery Engine)和 Harmony。即使对于领域专家来说…

2026/7/6 4:56:26 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻