問題
d: 【例題
4】佳佳的
fibonacci
時間限制
: 1 sec
記憶體限制
: 128 mb
提交: 5
解決: 4
[提交][狀態
][討論版
][命題人
:quanxing
][edit
] [testdata]
題目描述
佳佳對數學,尤其數列十分感興趣,在研究
fibonacci
之後,他創造出許多稀奇古怪的數列。如求
s(n)
表示fibonacci
數列前n
項和對m
取模之後的值,即
s(n)=(f1+f2+...+fn)mod m
,f1=f2=1
。可是這對佳佳來說還是小菜一碟。終於,他找到乙個自己解決不了的數列。
t(n)
表示fibonacci
數列前n
項變形後的和對
m取模之後的值, 即
t(n)=(f1+2×f2+3×f3+...+n*fn)mod m
,f1=f2=1。
輸入 第一行,包含兩個整數n和
m。1<=n,m<=2的31
次方-1 輸出
共一行,
t(n)的值
樣例輸入
5 5
樣例輸出
1
思路:
矩陣快速冪,加推導斐波那契數列的矩陣遞推式,另外,我們知道菲波那切數列的前n項和等於菲波那切數列的第n-2項值-1
即:s(n)=f(n+2)-1
但這題沒有單純那麼簡單,因為這是乙個帶乘法係數的求和式子。
利用這個等式就可以快速算出
**:
#includeusing namespace std;
#define ll long long
ll mod = 1e9 + 7;
ll n = 2, k;
struct mul
res;
mul mul(mul a, mul b)//矩陣乘法,定義結構體函式,傳入結構體,返回結構體,這樣比較方便
}for (int i = 1; i <= n; i++)}}
return tmp;
}mul quickpow(mul a, ll b, ll modd)//矩陣快速冪
else
}}int main()
位運算的4個例題
例題1 尋找獨一無二的數 解答 利用位運算異或的性質 a a 0,a 0 a,a b c a b c a b c 資料規模100萬,不能用o n 2 應該用o n 演算法,邊讀取邊處理。例題2 為了未來的計算機 解答 方法 一 利用位運算且的性質 a 1 方法 二 利用位運算且的性質 a a 1 可...
問題 A 例題1 數的劃分
題目描述 將整數n分成k份,且每份不能為空,任意兩種劃分方案不能相同 不考慮順序 例如 n 7,k 3,下面三種劃分方案被認為是相同的。1 1 5 1 5 1 5 1 1 問有多少種不同的分法。輸入n,k 6輸出 乙個整數,即不同的分法 樣例輸入 7 3樣例輸出 4題目型別 dfs,求分發的種類 思...
pyuic4和pyrcc4d的差別
今天想把pyqt4 的ui轉為.py檔案,死活不對。廢話不多說直接上對的 pyuic4 o x ui.py x ui.ui 當然了首先是要到相應的ui目錄下去。我出錯的原因是我不太清楚應該用pyuic4還是pyrcc4 很尷尬我先用了pyrcc4 所以導致不成功後再用pyuic4 也無法成功轉換。因...