通過讀題就可以發現這不是一般的求斐波那契數列,所以用陣列存下所有的答案是不現實的。題目也明確點明此題可以利用矩陣的計算解題。
什麼是快速矩陣冪?
快速矩陣冪演算法是一種簡單的具有典型意義的連續為離散演算法,同學們一定要掌握其思想,而不是從網上copy乙份板子就用。
時間複雜度:\(o(lgn)\);
考點:簡單的快速矩陣冪;
坑點:一邊計算一邊取模才不會找過範圍。
//
// created by alvinzh on 2017/10/1.
//#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f
#define eps 1e-8
#define maxsize 100005
#define mod 10007
typedef long long ll;
using namespace std;
const int n = 2;
struct matrix
matrix operator * (const matrix& b) const }}
return result;
}};matrix matpow(matrix base, int n)
while (n > 0)
return result;
}int main()
}base.mat[1][1] = 0;
int n;
while (~scanf("%d", &n))
}
2016級演算法第一次練習賽 A 群鴉的盛宴
本題乍一眼看過去,你可能會想到使用乙個二維陣列a 51 51 來記錄從i到j的路線數。你很厲害,這是dp的思想。可是什麼情況才用dp 分解得到子問題往往不是互相獨立的。這也是dp和分治的最大區別之一。這題我從a走到b,和a之前b之後的格仔完全沒有關係啊!so,冷靜一下再看看,你會發現從1走到3和從2...
2016演算法第一次練習賽 A 群鴉的盛宴
時間限制 300ms 記憶體限制 32768kb alvinzh總是比別人慢一拍,比如暑假大家都在追權遊7討論龍母和雪諾大人尷尬相遇的時候,他還在第一季震驚地看著三隻剛出生的小龍。alvinzh的進度很慢,因為他一邊刷著電視劇集,一邊還在看原版 所以現在才看到第五季,雪諾在這頭,龍母在那頭。alvi...
題解 2018級演算法第一次練習賽 等比數列求和
這裡等比數列求和使用到的知識點包括 分治和快速冪 其中分治的方法和快速冪的方法是從部落格中學習到的 等比數列分治求和 快速冪方法 結合到本題目中可參考完整 在分治求和和快速冪之外取模操作的實現解釋如下 根據描述可知最後的值是很大的,所以需要取餘,但實際上在計算的過程中就需要進行取餘操作了。所以需要對...