noip模拟赛 斐波那契


分析:暴力分有90,真良心啊.
a,b这么大,连图都建不出来,肯定是有一个规律.把每个点的父节点写出来:0 1 1 12 123 12345 12345678,可以发现每一个循环的长度刚好是斐波那契数列中的第i项,那么求个前缀和,二分求一下LCA就可以了.
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; typedef long long ll; ll sum[], f[], m, a, b; int main()
{
f[] = , f[] = ;
sum[] = , sum[] = ;
for (int i = ; i <= ; i++)
f[i] = f[i - ] + f[i - ], sum[i] = sum[i - ] + f[i];
scanf("%lld", &m);
while (m--)
{
scanf("%lld%lld", &a, &b);
if (a == b)
{
printf("%lld\n", a);
continue;
}
if (a < b)
swap(a, b);
while (a != b && a != && b != )
{
ll l = , r = , res = ;
while (l <= r)
{
ll mid = (l + r) >> ;
if (sum[mid] < a)
{
res = mid;
l = mid + ;
}
else
r = mid - ;
}
a = a - sum[res];
if (b > a)
swap(a, b);
}
if (a == || b == )
printf("1\n");
else
printf("%lld\n", a);
} return ;
}
noip模拟赛 斐波那契的更多相关文章
- NOIP模拟题 斐波那契数列
		题目大意 给定长度为$n$序列$A$,将它划分成尽可能少的若干部分,使得任意部分内两两之和均不为斐波那契数列中的某一项. 题解 不难发现$2\times 10^9$之内的斐波那契数不超过$50$个 先 ... 
- noip模拟9[斐波那契·数颜色·分组](洛谷模拟测试)
		这次考试还是挺好的 毕竟第一题被我给A了,也怪这题太简单,规律一眼就看出来了,但是除了第一题,剩下的我只有30pts,还是菜 第二题不知道为啥我就直接干到树套树了,线段树套上一个权值线段树,然后我发现 ... 
- NOIP 模拟 9 斐波那契
		题解 这是一道推规律的题. 首先,这道题送分不少,先考虑 \(70pts\),直接暴力 \(\mathcal O(n)\) 建边,\(\mathcal O(logn)\) 求 \(lca\) 其次对于 ... 
- 洛谷mNOIP模拟赛Day1-斐波那契
		题目背景 大样例下发链接:http://pan.baidu.com/s/1c0LbQ2 密码:jigg 题目描述 小 C 养了一些很可爱的兔子. 有一天,小 C 突然发现兔子们都是严格按照伟大的数学家 ... 
- NOIP模拟赛T3 斐波那契
		1.题目 求 \[\sum_{i=1}^n \sum_{j=1}^m \gcd(F_i,F_j) \] 其中 \(F_k\) 表示斐波那契数列的第 \(k\) 项,对 \(10^9 + 7\) 取模. ... 
- 2019.8.3 NOIP模拟测试12 反思总结【P3938 斐波那契,P3939 数颜色,P3940 分组】
		[题解在下面] 早上5:50,Gekoo同学来到机房并表态:“打暴力,打暴力就对了,打出来我就赢了.” 我:深以为然. (这是个伏笔) 据说hzoi的人还差两次考试[现在是一次了]就要重新分配机房,不 ... 
- 2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci)
		2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci) 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 找规律 找两个节点的lca,需 ... 
- 【洛谷mNOIP模拟赛Day1】T1 斐波那契
		题目传送门:https://www.luogu.org/problemnew/show/P3938 这题出得特别吼啊~~ 通过打表或者大胆猜想斐波那契数列的一些性质,我们不难发现对于一只兔子$x$,其 ... 
- 20190803 NOIP模拟测试12「斐波那契(fibonacci)· 数颜色 · 分组 」
		164分 rank11/64 这次考的不算太差,但是并没有多大的可能性反超(只比一小部分人高十几分而已),时间分配还是不均,T2两个半小时,T1半个小时,T3-额十几分钟吧 然额付出总是与回报成反比的 ... 
随机推荐
- openstack知识---hypervisor
			hypervisor Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统,它可以协调访问服务 ... 
- FileStream和BinaryReader,BinaryWriter,StreamReader,StreamWriter的区别
			FileStream对于在文件系统上读取和写入文件非常有用,FileStream缓存输入和输出,以获得更好的性能.FileStream对象表示在磁盘或网络路径上指向文件的流.这个类提供了在文件中读写字 ... 
- 自动化中Java面试题
			1.面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:- 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这些 ... 
- 关于python2.7的md5加密遇到的问题(TypeError: Unicode-objects must be encoded before hashing)
			https://blog.csdn.net/u012087740/article/details/48439559 import hashlib import sys def md5s(): m=ha ... 
- hihocoder编程练习赛52-1 字符串排序
			思路: 将字符串按照新的顺序映射之后再排序. 实现: #include <bits/stdc++.h> using namespace std; int main() { int n; s ... 
- SQL——连接查询、聚合函数、开窗函数、分组功能、联合查询、子查询
			连接查询 inner join,用的最多,表示多张表一一对应 聚合函数 操作行数据,进行合并 sum.avg.count.max.min 开窗函数 将合并的数据分布到原表的每一行,相当于多出来了一列, ... 
- Node.js——Stream
			介绍 文件流:我们一般对大一点的文件实现stream的方式进行操作 http:显然http.createServer创建过程中的IncomingMessage实现了可读流的接口,ServerRespo ... 
- 【译】x86程序员手册39-10.3切换到保护模式
			10.3 Switching to Protected Mode 切换到保护模式 Setting the PE bit of the MSW in CR0 causes the 80386 to b ... 
- 十一,类型参数化--Scala
			类型参数化 在scala中,类型参数化(类似于泛型)使用方括号实现,如:Foo[A],同时,我们称Foo为高阶类型.如果一个高阶类型有2个类型参数,则在声明变量类型时可以使用中缀形式来表达,此时也称该 ... 
- zabbix基础安装
			环境依赖:LNMP或者LAMP 简介参考:http://blog.51cto.com/zhang789/1868880 一.准备 我安装的环境及其版本如下: 系统版本 CentOS Linux rel ... 
