UVa 10229 Modular Fibonacci (矩阵快速幂求斐波那契)

DeepSeek+知网研学:三步搞定文献矩阵与对比分析(实战指南) 本文提供了一套高效实用的文献管理分析实战指南,详细介绍了如何结合DeepSeek大模型与知网研学平台,通过三个核心步骤快速完成文献梳理。该方法能自动提炼文献核心要素、生成结构化对比矩阵,并辅助发现研究空白,显著提升学术研究者的文献分析效率与深度。 阅读详情

10229 - Modular Fibonacci

Time limit: 3.000 seconds

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1170

The Fibonacci numbers (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...) are defined by the recurrence:

F0 = 0
F1 = 1
Fi = Fi-1 + Fi-2 
for i>1

Write a program which calculates Mn = Fn mod 2m for given pair of n and m. 0< =n< =2147483647 and 0<=m< 20. Note that a mod b gives the remainder when a is divided by b.

Input and Output

Input consists of several lines specifying a pair of n and m. Output should be corresponding Mn, one per line.

Sample Input

11 7
11 6

Sample Output

89
25

思路:


如上图,使用矩阵快速幂搞定。

注意:(1<<19)^2会超int,所以要用long long


完整代码:

/*0.015s*/

#include<cstdio>
#include<cstring>
typedef long long ll;

ll mod;

struct mat
{
	ll v[2][2];
	mat()
	{
		memset(v, 0, sizeof(v));
	}
} m1;

mat operator * (mat a, mat b)
{
	mat c;
	for (int i = 0; i < 2; i++)
		for (int j = 0; j < 2; j++)
			for (int k = 0; k < 2; k++)
				c.v[i][j] = (c.v[i][j] + a.v[i][k] * b.v[k][j]) % mod;
	return c;
}

inline mat quickpow(mat a, int k)
{
	mat b;
	b.v[0][0] = b.v[1][1] = 1;
	while (k)
	{
		if (k & 1)
			b = b * a;
		k >>= 1;
		a = a * a;
	}
	return b;
}

int main()
{
	m1.v[0][0] = m1.v[0][1] = m1.v[1][0] = 1, m1.v[1][1] = 0;
	int n, m;
	while (~scanf("%d%d", &n, &m))
	{
		if (n == 0 || m == 0) puts("0");
		else
		{
			mod = 1 << m;
			printf("%d\n", quickpow(m1, n - 1).v[0][0]);
		}
	}
	return 0;
}

【UE5+Quest3】手部模型替换---3-0 这次手部模型替换遇到了一些小问题,不过好在是bug一个个都处理掉了,我会分开几个章节去整理。详细的视频教程可以参考油管大佬的视频手部素材放到文章末尾,自行下载使用。(仅用作学习研究,不可用于商用) 阅读详情

相关推荐

OSGEarth 基于鼠标位置缩放

说明 osgearth 原有漫游器EarthManipulator 不支持此功能,所以需要修改此漫游器代码,其中主要原理就是在缩放的同时也要改变当前漫游器中心焦点的位置,从而保持鼠标指定点的位置缩放是不改变。 核心代码修改部分 EarthManipulator 的头文件zoom方法添加参数view /** * Zoom the camera using delt...

Rsoftwaretest的专栏 3783

UVa10229 - Modular Fibonacci

Problem A: Modular Fibonacci The Fibonacci numbers (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...) are defined by the recurrence: F0 = 0 F1 = 1 Fi = Fi-1 + Fi-2 for i>1 Write a program which c

mowayao的专栏 933

从SSTS到CTS:解码汽车电子架构中的需求与实现规范

本文深入解析汽车电子架构中SSTS(子系统功能规范)与CTS(零部件技术规范)的转换过程,揭示从抽象需求到物理实现的关键步骤。通过实际案例说明如何将SSTS的功能逻辑、接口定义和性能指标转化为具体的CTS实施方案,并分享多供应商协同与测试验证的最佳实践,帮助开发者高效完成汽车电子系统开发。

weixin_29201859的博客 500

uva 10229 - Modular Fibonacci

考虑到出现出现取模,打印了几组数据发现有循环节长度为3*(1 #include #include using namespace std; int fib[2000000]; int main() { int m,n; while(scanf("%d%d",&n,&m)==2) { if(!m) printf("0\n");

Just for you 702

目标检测 RT-DETR(2023)详细解读

在使用了这个技巧后,显然训练过程中,类别的标签不再是此前的0和1离散值,而是0~1的连续值。关于 Query Selection(查询向量选择),大家应该并不陌生,这个方法可谓在DETR领域大杀四方,如DAB-DETR对查询向量进行重构理解,将其解释为Anchor,DN-DETR通过查询降噪来应对匈牙利匹配的二义性所导致的训练时间长的问题,DINO提出从Encoder中选择Top-k特征进行学习等一系列方法,这都无疑向我们证明,查询向量很重要,选择好的Query能够让我们事半功倍。在RT-DETR中,

qq_51352130的博客 5870

Python 爬取新浪财经 7x24(1): 下载数据

前言 最近在做一个需要很多财经数据的项目。于是想到可不可以通过爬虫来解决(尝试白嫖)。 提供财经数据的网站有很多个,其中比较靠谱和更新比较及时的应该是新浪7x24 live数据。 http://finance.sina.com.cn/7x24/?tag=0 这个问题有一定的难度,因为这个网页是动态加载的。每一次只会加载部分数据,而只有拉到底部才可以加载新的数据。 于是乎,我们要做的事情是: 下载数据 保存到数据库 本篇介绍如何下载数据。 代码 闲言少叙书归正文,代码的实现如下: import reque

ZJ_11701的博客 2905

uva 10229 Modular Fibonacci

uva 10229 Modular Fibonacci

@fei 716

SAP ABAP Web Service 的创建与消费:保姆级教程

SOAP 定义了消息的格式和传输规则,使得 Web Service 可以在不同的操作系统和网络环境中通信。通过 WSDL,服务的提供者可以明确地定义服务的功能,而服务的使用者则可以通过解析 WSDL 文件,了解如何正确地调用该服务。它封装了与 Web 服务通信的所有复杂性,如消息格式的构建、传输协议的选择、请求的发送和响应的处理等。除了本文介绍的 ABAP 编程语言之外,我们还可以通过 Java,Node.js,C++,C#,Python 等其他编程语言来消费本文创建的 ABAP Web Service.

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 713

uva 10229 - Modular Fibonacci(矩阵快速幂)

题目链接:uva 10229 - Modular Fibonacci 题目大意:给出n和m,求出f(n) %m, f(x)为斐波那契数列。 解题思路:因为n的范围在0~214783647,所以计算量比较大,所以用矩阵快速幂。 {(1, 1), (1, 0)} ^ n *(f[1], f[0]) = (f[n], f[n - 1]). #include &lt;stdio.h...

445822357 212

TPAMI 2024 | 面向大型城市场景的快速建筑实例代理重建

大规模城市场景(特别是建筑物)的数字化是一个长期存在的开放问题,这归因于数据获取方面的挑战,如场景覆盖不完整、缺乏语义、规划路径的效率和可靠性低。在本文中,我们针对从航拍图像中重建城市建筑的问题,提出了一个有效的工作流程和一些新颖的算法,用于大型城市场景中高效的3D建筑实例代理重建。具体来说,我们提出了一种基于学习的新型方法,用于从航拍图像中进行城市建筑的实例分割,然后通过基于投票的算法将多视图实例信息融合到稀疏点云中(使用标准结构从运动管道重建)。我们的方法实现了从点云中对建筑实例进行有效的实例分割。

小白学视觉 322

时间序列—显著相关性和滞后性分析_python

本文讲述了两个时间序列(信号)的相关性分析,可以利用相关性分析进行特征筛选。此外本文还讲了怎么判断时间序列的滞后性的方法。

qq_34229228的博客 2万+

10299 Problem A: Modular Fibonacci(斐波那契的矩阵快速幂)

Problem A: Modular Fibonacci The Fibonacci numbers (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...) are defined by the recurrence: F0 = 0 F1 = 1 Fi = Fi-1 + Fi-2 for i>1 Write a program which c

Remilia's 1110

YOLOv8【第七章:损失函数篇·第1节】一文搞定,IoU系列损失函数!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 1199

Modular Fibonacci UVA - 10229(斐波那契数列、矩阵快速幂)

题目链接:Modular Fibonacci UVA - 10229 题目大意:输入n与m,输出f[n]%m。f[n]为斐波那契数列里的第n个数。 n比较大,可以借助矩阵快速幂来求斐波那契数列的第n项。 #include <iostream> #include <cstring> #include <cstdio> using namespace std; ...

Ai_Mijie的博客 320

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

uva 10229 Modular Fibonacci(矩阵快速幂求斐波那契数列 or 找规律)

【例题】 uva 10229 Modular Fibonacci 矩阵快速幂求斐波那契数列板子题。 规律:fib数列对2^m取模的循环节为3*(2^(m-1)). 【代码一】 #include<bits/stdc++.h> using namespace std; int fib[22][2000000]; int main() { int m,n; for...

菜鸡成长史 357

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

UVA10229 Modular Fibonacci 【循环数列】

The Fibonacci numbers (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...) are defined by the recurrence:    F0 = 0    F1 = 1    Fi = Fi−1 + Fi−2 for i &gt; 1Write a program which calculates Mn = Fn mod 2^m for...

海岛Blog 895

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

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

UVa 10229 - Modular Fibonacci

题目:求第n个Fib数与2^m的模。 分析:分治,快速幂。             具体参照本人的 斐波那契数列(http://blog.csdn.net/mobius_strip/article/details/8222309)             中 4.Fib的计算3:分治法;             设Jn为第n个月有生育能力的兔子数量,An为这一月份的兔子数量。得到如下递推矩

小白菜又菜 1515

UVA 10229 Modular Fibonacci

UVA_10229 将斐波那契数用矩阵形式表示,然后再做快速幂取模即可。 #include<stdio.h>#include<string.h>#define MAXD 50long long int N, M, D, a[MAXD][4], b[4];void pow_mod(long long int n, int e){ if(n == 1) ...

weixin_30415801的博客 89

UVA - 10229 Modular Fibonacci

题意:矩阵快速幂取模 #include #include #include #include using namespace std; long long mod; long long p[]={1,1,1,0}; void matrix(long long a[],long long b[],long long c[]){ long long q = a[0]*b[0]

那些年 829

[翻译]ACMer 2013 Daily Training- 8th Mar for 11x&&12x

[A] Andy's First Dictionary Andy是个8岁的孩子,他梦想要制作一本他自己的字典。这并不是一件容易的事,因为他认识的字还不是那么多。他并不想要自己去想这本字典中该放哪些字,他有个聪明的主意。就是拿出他最喜欢的一本故事书,从那里面挑出所有不同的字来,然后按照字典数序列出。当然,对他来说这是一件相当花时间的工作,所以你被要求写一个程式来帮助他。 在这个问题中

8毛 821

UVA - 10229 - Modular Fibonacci (矩阵快速幂 + fibonacci)

题目传送:UVA - 10229 思路:就是简单的矩阵快速幂求fibonacci数列,然后注意可能中间结果会爆int,因为2^19有50多万 AC代码: #include #include #include #include #include #include #include #include #include #include #include

Never say never 1196

深挖C++:类和对象(中)

(先进后出)

xys_678的博客 251

ThunderKittens 深度解析:一个不基于 MLIR 的 C++ 模板 GPU DSL

Triton 是"让更多人能写 GPU kernel",ThunderKittens 是"让会写的人写得更爽"。前者用 MLIR 换易用性,后者用 C++ 模板换可控性。它们不是替代关系,而是覆盖了 GPU 编程光谱的两端。ThunderKittens 的出现,本质上是对"GPU DSL 必须基于 MLIR"这一默认假设的挑战。编译期类型系统本身就可以是一个强大的 DSL 基础设施,不需要中间 IR,不需要黑盒 pass,也能实现 tile 级抽象和零运行时开销。

Maxwell_Newton的博客 349

C++移动构造函数详解

移动构造函数是C++11引入的一种特殊构造函数,用于从临时对象(右值)"窃取"资源来初始化新对象,而不是进行昂贵的深拷贝。char* data;public:// 移动构造函数:参数是右值引用 &&// 关键:把源对象的资源置空。

拒绝AI文,努力在AI时代写出感动人心的好文章 394
上一篇: UVa 10183 How Many Fibs? (统计斐波那契数个数&高精度)
下一篇: UVa 11723 Numbering Roads (water ver.)
synapse7
博客等级 码龄14年 432粉丝 701原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值