UVA 11582 Colossal Fibonacci Numbers!【数学】

大一刚开始接触ACM就买了《算法竞赛入门经典》这本书,当时只能看懂前几章,而且题目也没做,粗鄙地以为这本书不适合自己。等到现在快大三了再回过头来看,发现刘老师还是很棒的!

扯远了。。。

题意:问f[a^b]%n的值,f为斐波那契数。根据f[i]=f[i-1]+f[i-2]不难发现,当二元组(f[i],f[i-1])出现重复时,整个序列就开始重复了。如n=3,序列f[i]的前10项为

      0,1,1,2,0,2,2,1,0,1

f[9]和f[10]与前两项一样。

那么周期会在哪出现呢?从n项中取2项为C(n,2),即最多有n*(n-1)/2种组合,最多n^2,2<=n<=1000。实际上远小于n^2。

此时找到了周期长度m,答案为f[(a^b)%m],a^b用快速幂解决。

坑点,2^64得用usingned long long存,格式是%llu;注意n=1时要输出0。

代码:

#include<stdio.h>
#include<string.h>
typedef unsigned long long ll;
ll a,b;
int n,m,f[1111*1111];
int pow(ll a,ll b,int mod){int ans=1;while(b){if(b&1)    ans=(ans*a)%mod;a=(a*a)%mod;b>>=1;}return ans;
}
int main(){int t;scanf("%d",&t);while(t--){scanf("%llu%llu%d",&a,&b,&n);f[0]=0,f[1]=1%n;for(int i=2;;i++){f[i]=f[i-2]+f[i-1];f[i]%=n;if(f[i]==f[1]&&f[i-1]==f[0]){m=i-1;break;}}int t=pow(a%m,b,m);printf("%d\n",f[t]);}return 0;
} 

 

转载于:https://www.cnblogs.com/L-King/p/5757311.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Codeforces 919D Substring (拓扑图DP)

手动博客搬家: 本文发表于20180716 10:53:12, 原地址https://blog.csdn.net/suncongbo/article/details/81061500 给定一个\(n\)个点\(m\)条边的有向图&#xff08;不一定无环&#xff09;&#xff0c;每个点上有一个小写字母。要找一条路径&#xff0c;使得路径上出现次数最多…

layui自定义查询条件html页面,Layui的数据表格+springmvc实现搜索功能的例子_飛雲_前端开发者...

如下所示&#xff1a;主要在前端页面加&#xff1a;搜索ID&#xff1a;useridcontent搜索在reload:function () {var keyWord$("#keyWord").val();var keyType$("#key_type option:selected").val();table.reload(contenttable,{method:post,where:{keyWor…

mysql+keepalived 双主热备高可用

理论介绍&#xff1a;我们通常说的双机热备是指两台机器都在运行&#xff0c;但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候&#xff0c;另外一台会马上自动接管并且提供服务&#xff0c;而且切换的时间非常短。MySQL双主复制&#xff0c;即互为Master-Sl…

java ldap userpassword 解密_Spring Boot中使用LDAP来统一管理用户信息

LDAP简介LDAP(轻量级目录访问协议&#xff0c;Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统&#xff0c;其专门针对读取&#xff0c;浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的&#xff0c;基于…

第三章之枚举、注解

2019-01-22内容&#xff1a;枚举、注解一、自定义一个枚举类1 public class TestSeason {2 3 public static void main(String[] args) {4 Season spring Season.Spring;5 System.out.println(spring);6 }7 }8 public class Season {9 //将属性定…

html打开后默认浏览器页面,使用VBA打开默认浏览器中的html页面?

您可以使用Windows API函数ShellExecute来执行此操作&#xff1a;Option ExplicitPrivate Declare Function ShellExecute _Lib "shell32.dll" Alias "ShellExecuteA" ( _ByVal hWnd As Long, _ByVal Operation As String, _ByVal Filename As String, _Op…

数据科学r语言_您应该为数据科学学习哪些语言?

数据科学r语言Data science is an exciting field to work in, combining advanced statistical and quantitative skills with real-world programming ability. There are many potential programming languages that the aspiring data scientist might consider specializi…

Linux平台不同解压缩命令的使用方法

作者&#xff1a;郭孝星 微博&#xff1a;郭孝星的新浪微博 邮箱&#xff1a;allenwells163.com 博客&#xff1a;http://blog.csdn.net/allenwells github&#xff1a;https://github.com/AllenWell 一 .tar 解包 tar xvf FileName.tar 打包 tar cvf FileName.tar DirName 注意…

unity中怎么做河流_【干货】工作中怎么做工业设计的?(一)

最近在找工作&#xff0c;一直在看招聘信息。看到工业设计工资还是蛮高的。应届毕业生一般是4-6K&#xff0c;1-3年工作经验是6-8K&#xff0c;3年以后的差不多是8K以上了。我没有嫉妒羡慕恨&#xff0c;发誓&#xff0c;真的没有。工业设计已经被重视&#xff0c;未来的道路会…

[易学易懂系列|golang语言|零基础|快速入门|(一)]

golang编程语言&#xff0c;是google推出的一门语言。 主要应用在系统编程和高性能服务器编程&#xff0c;有广大的市场前景&#xff0c;目前整个生态也越来越强大&#xff0c;未来可能在企业应用和人工智能等领域占有越来越重要的地位。 本文章是【易学易懂系列|编程语言入门】…

APUE学习之三个特殊位 设置用户ID(set-user-ID),设置组ID(set-group-ID),sticky...

设置用户ID&#xff08;set-user-ID&#xff09;&#xff0c;设置组ID&#xff08;set-group-ID&#xff09;&#xff0c;stickyset-user-ID: SUID当文件的该位有设置时&#xff0c;表示当该文件被执行时&#xff0c;程序具有文件所有者的权限而不是执行者的权限。这样说有点绕…

微信调用html退后方法,微信浏览器后退关闭页面

不需要引用 微信jssdk 关闭浏览器WeixinJSBridge.invoke(closeWindow, {}, function (res) { });参考&#xff1a;https://mp.weixin.qq.com/wiki/12/7dd29a53f4b55a8ddc6177ab60e5ee2c.html监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法参考&#xff…

在gitlab 中使用webhook 实现php 自动部署git 代码

在技术团队讨论中&#xff0c;我们决定从svn 迁移到 git ,于是使用了gitlab&#xff0c;代码自动部署使用了webhook在服务器上 1.开启PHP需要的环境支持 服务器环境必须先安装git 环境&#xff0c;webhook 依赖php运行环境&#xff0c;同时需要使用shell_exec 和 exec 等函数。…

spi收发时的寄存器sr不变_「正点原子Linux连载」第二十七章SPI实验(二)

1)实验平台&#xff1a;正点原子Linux开发板2)摘自《正点原子I.MX6U嵌入式Linux驱动开发指南》关注官方微信号公众号&#xff0c;获取更多资料&#xff1a;正点原子文件bsp_spi.c中有两个函数&#xff1a;spi_init和spich0_readwrite_byte&#xff0c;函数spi_init是SPI初始化函…

vue脚手架vue数据交互_学习Vue:3分钟的交互式Vue JS教程

vue脚手架vue数据交互Vue.js is a JavaScript library for building user interfaces. Last year, it started to become quite popular among web developers. It’s lightweight, relatively easy to learn, and powerful.Vue.js是用于构建用户界面JavaScript库。 去年&#…

[JSOI2018]潜入行动

题解 一道思路不难但是写起来很麻烦的树形背包 我们发现每个节点有很多信息需要保留 所以就暴力的设\(f[u][j][0/1][0/1]\)表示点u的子树分配了j个监察器,点u有没有被控制,点u放没放监察器 然后就分四种情况暴力讨论就好了 注意背包的时候要卡常数 代码 #include<cstdio>…

css。元素样式、边框样式

1.外边距  margin 缩写形式&#xff1a; margin&#xff1a;上边距  右边距  下边距  左边距 margin&#xff1a;上下边距  左右边距 margin&#xff1a;上边距  左右边距  下边距 2.内边距  padding 缩写形式&#xff1a; padding&#xff1a;上边距  右边距…

html文本对齐6,HTML对齐文本

我要像以下列方式显示页面上的文本&#xff1a;HTML对齐文本My Text: Text HereMy Text: More Text Here.........................................................Text from line above continued here.我有以下的标记只是为了测试&#xff1a;body {font-family: arial;}fo…

vue底部跳转_详解Vue底部导航栏组件

不多说直接上代码 BottomNav.vue&#xff1a;{{item.name}}export default{props:[idx],data(){return {items:[{cls:"home",name:"首页",push:"/home",icon:"../static/home.png",iconSelect:"../static/home_select.png"}…

Android Studio环境搭建

Android Studio环境搭建 个人博客 欢迎大家多多关注该独立博客。 ###[csdn博客]&#xff08;http://blog.csdn.net/peace1213&#xff09; 一直想把自己的经验分享出来&#xff0c;记得上次写博客还是ok6410的笔记。感觉时代久远啊。记得那个时候我还一心想搞硬件了。如今又一次…