2018年東北農業大學春季校賽 K-why的數列(斐波那契數列迴圈節)
來源:牛客網
題目描述
wyh學長特別喜歡斐波那契數列,F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2)
一天他突發奇想,想求F(a^b)%c
輸入描述:
輸入第一行一個整數T(1<=T<=100),代表測試組數 接下來T行,每行三個數 a,b,c (a,b<=2^64) (1<c<1000)
輸出描述:
輸出第a^b項斐波那契數對c取餘的結果
題解: 找斐波那契數列取模c的迴圈節,然後可以對項數a^b%(迴圈節長度) 這樣就可以通過快速冪求出a^b取模一個數的值, 取模後的數較小,可以通過迴圈取模求得。 程式碼: #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<cmath> #include<map> #include<set> #include<queue> using namespace std; #define ll unsigned long long int const int maxn = 1e7 + 10; ll a, b, c; ll f[155005]; ll qkm(ll a, ll b,ll mod) { ll ans = 1; while (b > 0) { if (b % 2) (ans = ans * a) %= mod; (a = a * a) %= mod; b >>= 1; } return ans; } int main() { int T; scanf("%d", &T); while (T--) { scanf("%lu %lu %lu", &a, &b, &c); f[0] = 0; f[1] = 1%c; for (int i = 2; i <= 150001; i++) { (f[i] = f[i - 1] + f[i - 2])%=c; } for(ll i=2;i<=150000;i++) { if(f[i]==f[1]&&f[i-1]==f[0]) { printf("%lu\n", f[qkm(a%(i-1),b,i-1)]%c); break; } } } return 0; }
相關推薦
2018年東北農業大學春季校賽 K-why的數列(斐波那契數列迴圈節)
連結:https://www.nowcoder.com/acm/contest/93/K來源:牛客網題目描述 wyh學長特別喜歡斐波那契數列,F(0)=0,F(1)=1,F(n)=F(n-1)+F(n
2018年東北農業大學春季校賽 K wyh的數列
連結:點選開啟連結題目描述 wyh學長特別喜歡斐波那契數列,F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2) 一天他突發奇想,想求F(a^b)%c 輸入描述:輸入第一行一個整數T(1<=T<=100),代表測試組數 接下來
2018年東北農業大學春季校賽 K、wyh的數列
題意: 斐波拉契數列f[0]=0、f[1]=1 , f[n]=f[n-1]+f[n-2](n>=2);求f[a^b]%c.(a、b<=2^64、2<=c<=1000)***因為
2018年東北農業大學春季校賽 H why的吃雞
連結:點選開啟連結題目描述 最近吃雞遊戲非常火,你們wyh學長也在玩這款遊戲,這款遊戲有一個非常重要的過程,就是要跑到安全區內,否則就會中毒持續消耗血量,我們這個問題簡化如下 假設地圖為n*n的一個圖,圖中有且僅有一塊X的聯通快代表安全區域,有一個起點S代表縮圈的時
2018年東北農業大學春季校賽 題解
【題目連結】 寫在前面:從都到尾做了一下這場比賽,似乎好題都是原題,水題都是他們學校自己出的。原題在抄過來的過程中,很多題目的題面、資料範圍都出了問題,還有題目資料很水。建議以後這樣的比賽不要掛到外面來了,不然別人會罵你們學校不負責任的... ... 吐槽: 1. 牛客網題面上輸入順序寫
2018年東北農業大學春季校賽 B wyh的矩陣【規律】
題目連結 思路 先加入 中間的那行 和中間的那列 再減去 最中間那個數 因為它 加了兩次 然後逐行往下加 會發現是一個三角形 然後下面是一個對稱的三角形 注意一下 不要反覆加 就可以了
動態規劃--dp--2018年東北農業大學春季校賽J
來源:牛客網 我國現在能源消耗非常嚴重,現在政府有這樣一個工作,每天早上都需要把一些路燈關掉,但是他們想讓在關閉的過程中所消耗的能源是最少的,負責路燈關閉的工作人員以1m/s的速度進行行走,假設關閉路燈的時候不需要花費任何的時間,請你編寫一個程式,計算在給定路燈位置和每個
2018年東北農業大學春季校賽
【題目】 A wyh的曲線 10/51 未通過 學一下求曲線長度? B wyh的矩陣 461/1355 通過 規律題方便打表的先打表再推 C wyh的商機 12/31 未通過 離線LCA? D wyh的迷宮
2018年東北農業大學春季校賽 B題題解
#include<iostream> #include<algorithm> using namespace std; int main() { long long t,n;cin>>t; long long sum=0;
2018年東北農業大學春季校賽H題wyh的吃雞
題目描述 最近吃雞遊戲非常火,你們wyh學長也在玩這款遊戲,這款遊戲有一個非常重要的過程,就是要跑到安全區內,否則就會中毒持續消耗血量,我們這個問題簡化如下假設地圖為n*n的一個圖,圖中有且僅有一塊X的聯通快代表安全區域,有一個起點S代表縮圈的時候的起點,圖中C代表的是車(保
2018年東北農業大學春季校賽:L-wyh的天鵝(Treap)
題意:插入元素,刪除元素,查詢第K大。題解:Treap。#include <bits/stdc++.h> using namespace std; #define Lc (o -> Ch[0]) #define Rc (o -> Ch[1]) #de
2018年東北農業大學春季校賽 B
連結:https://www.nowcoder.com/acm/contest/93/B來源:牛客網時間限制:C/C++ 1秒,其他語言2秒空間限制:C/C++ 262144K,其他語言524288K 64bit IO Format: %lld題目描述 給你一個n*n矩陣,
2018年東北農業大學春季校賽D wyh的迷宮
給你一個n*m的迷宮,這個迷宮中有以下幾個標識: s代表起點 t代表終點 x代表障礙物 .代表空地 現在你們涵哥想知道能不能從起點走到終點不碰到障礙物(只能上下左右進行移動,並且不能移動到已經移動過的點)。 輸入描述:輸入第一行一個整數T(1<=T<=1
2018年東北農業大學春季校賽 B wyh的矩陣 【規律】
連結:https://www.nowcoder.com/acm/contest/93/B #include<bits/stdc++.h> using namespace std; #define ll long long int main() { int
2018年東北農業大學春季校賽 L-wyh 【線段樹】
題目描述 你們wyh學長小時候住在河邊,因為周圍的生態環境非常好,所以經常會有天鵝浮在湖面上,每隻天鵝都長得不一樣,它們偶爾排成一排,偶爾分散開,偶爾也會去其他河畔,wyh學長為了統計它們的個數,編了一個程式賦予它們一個“萌”值,但是這些天鵝很不聽話,一會兒會從別的地方游
2018年東北農業大學春季校賽-A:wyh的曲線(Simpson)
時間限制:C/C++ 1秒,其他語言2秒空間限制:C/C++ 262144K,其他語言524288K64bit IO Format: %lld題目描述給你三組數列,分別為現在給你一個式子:然後我們可以將
2018年湘潭大學程序設計競賽 G- 又見斐波那契
class while 快速冪 fir 斐波那契 IT 快速 code ++ 推一推矩陣直接快速冪。 1 #include<bits/stdc++.h> 2 #define LL long long 3 #define pii pair<i
【洛谷mNOIP模擬賽Day1】T1 斐波那契
lld -s ace can using code 我們 namespace log 題目傳送門:https://www.luogu.org/problemnew/show/P3938 這題出得特別吼啊~~ 通過打表或者大膽猜想斐波那契數列的一些性質,我們不難發現對於一
P2626 斐波那契數列(升級版) AC於2018.10.20
原題 題目背景 大家都知道,斐波那契數列是滿足如下性質的一個數列: f(1) = 1f(1)=1 f(2) = 1f(2)=1 f(n)=f(n−1)+f(n−2) (n≥2 且 n 為整數)。 題目描述 請你求出第n個斐波那契數列的數mod(或%)2^{31}之
網易校招真題 一個數變為斐波那契數列數
題目描述 Fibonacci數列是這樣定義的: F[0] = 0 F[1] = 1 for each i ≥ 2: F[i] = F[i-1] + F[i-2] 因此,Fibonacci數列就形如:0, 1, 1, 2, 3, 5, 8, 13, ...,在Fibonacci數列