【HDOJ 1005】 Number Sequence (裸矩陣快速冪)
原諒我貼個水題。。。攢了一年的'恩怨'終於瞭解了 b( ̄▽ ̄)d
去年就接觸過矩陣快速冪 線代太弱 看他們程式碼沒參悟透。。可能真是悟性太差了。。
然後一隻以為矩陣快速冪是很叼的東西(不過確實很叼) 太高深 再沒敢碰。。有毒啊…………
直到最近比賽(VJ)出現矩陣快速冪的頻率太高了 今下午又來一道 金巨巨看我萬般費解 上來一張紙 一支筆 一個Fibonacci
妥妥的把矩陣快速冪給我講懂了 學好線代是多麼的重要。。。(~﹃~)~zZ
回來找了這麼個題練了練手 自己寫寫就是感覺不一樣 太有成就感了 弱渣的第一個矩快
丟水題程式碼跑掉ε=ε=ε=(~ ̄▽ ̄)~
#include <iostream> #include <cstdio> #include <cstring> using namespace std; typedef struct Matrix { int mx[2][2]; void Init(int a,int b) { mx[0][0] = a; mx[0][1] = b; mx[1][0] = 1; mx[1][1] = 0; } void Out() { for(int i = 0; i < 2; ++i) { for(int j = 0; j < 2; ++j) printf("%d ",mx[i][j]); puts(""); } } struct Matrix operator * (const struct Matrix a)const { struct Matrix x; memset(x.mx,0,sizeof(x.mx)); for(int i = 0; i < 2; ++i) for(int j = 0; j < 2; ++j) for(int k = 0; k < 2; ++k) x.mx[i][j] = (x.mx[i][j]+mx[i][k]*a.mx[k][j])%7; return x; }; }Matrix; Matrix pow(Matrix mx,int n) { Matrix ans; ans.mx[0][0] = ans.mx[1][1] = 1; ans.mx[0][1] = ans.mx[1][0] = 0; while(n) { if(n&1) ans = ans*mx; mx = mx*mx; n >>= 1; } return ans; } int main() { int n,a,b; while(~scanf("%d %d %d",&a,&b,&n) &&a) { if(n == 1) { puts("1"); continue; } Matrix mx; mx.Init(a,b); mx = pow(mx,n-2); //mx.Out(); printf("%d\n",(mx.mx[0][0]+mx.mx[0][1])%7); } return 0; }
相關推薦
【HDOJ 1005】 Number Sequence (裸矩陣快速冪)
原諒我貼個水題。。。攢了一年的'恩怨'終於瞭解了 b( ̄▽ ̄)d 去年就接觸過矩陣快速冪 線代太弱 看他們程式碼沒參悟透。。可能真是悟性太差了。。 然後一隻以為矩陣快速冪是很叼的東西(不過確實很叼) 太高深 再沒敢碰。。有毒啊………… 直到最近比賽(VJ)出現矩陣快速冪
HDU 1005 Number Sequence(基礎矩陣快速冪)
//HDU 1005 15MS 1424K #include <cstdio> #include <cstring> #include <cmath> #in
HDU 6395 Sequence(數論+矩陣快速冪)
Description 定義序列F1=A,F2=B,Fn=C⋅Fn−2+D⋅Fn−1+⌊Pn⌋F1=A,F2=B,Fn=C⋅Fn−2+D⋅Fn−1+⌊Pn⌋,求FnFn Input 第一行一整數T
Sequence(分段+矩陣快速冪)
Sequence Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 1857 Accepted Subm
【POJ2778】 DNA Sequence AC自動機+矩陣快速冪
DNA Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14224 Accepted: 5486 Description It’s well
UVA10870—Recurrences(簡單矩陣快速冪)
src logs aps 矩陣 矩陣快速冪 分享 pow sizeof set 題目鏈接:https://vjudge.net/problem/UVA-10870 題目意思: 給出a1,a2,a3,a4,a5………………ad,然後算下面這個遞推式子,簡單的矩陣快速冪,裸題,
Chinese Rings (九連環+矩陣快速冪)
game 百度一 const problem scan make then indicate urn 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2842 題目: Problem Description Dumbear
ACM-ICPC 2018 焦作賽區網路預賽 L. Poor God Water(BM/矩陣快速冪)
通過本題,學到了一個非常NB的黑科技,杜教BM線性遞推模板 直接打表打出前幾項,丟入BM模板就過了,非常神奇,非常強大 網上說BM板子一般8個以上就穩了,賽後試了一下,這個題要丟入前10個數據才能AC。 #include <cstdio> #includ
Newcoder 18 F.Course(數論+矩陣快速冪)
Description A r i a
藍橋 壘骰子(dp+矩陣快速冪)
壘骰子賭聖atm晚年迷戀上了壘骰子,就是把骰子一個壘在另一個上邊,不能歪歪扭扭,要壘成方柱體。經過長期觀察,atm 發現了穩定骰子的奧祕:有些數字的面貼著會互相排斥!我們先來規範一下骰子:1 的對面是 4,2 的對面是 5,3 的對面是 6。假設有 m 組互斥現象,每組中的那
No more tricks, Mr Nanguo HDU - 3292(pell + 矩陣快速冪)
ger img map source ring rri fff gin bsp No more tricks, Mr Nanguo Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K
hdu6030(推導+矩陣快速冪)
Happy Necklace Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
【HDU 2602】Bone Collector(裸的01背包)
c++ style memset its for get strong IE HA Problem Description Many years ago , in Teddy’s hometown there was a man who was called “Bone C
1005:Number Sequence(hdu,數學規律題)
his arch ear iostream tput ostream htm 數據 long Problem Description A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (
【ZOJ - 2836 】Number Puzzle (容斥原理)
題幹: Given a list of integers (A1, A2, ..., An), and a positive integer M, please find the number of positive integers that are not greater than M
HDU 1005 Number Sequence(找規律,思維)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 153140 Accepted Submissio
BZOJ 2288 【POJ Challenge】生日禮物(貪心+優先隊列)
ace urn ons target challenge pri 最大 font return 【題目鏈接】 http://www.lydsy.com/JudgeOnline/problem.php?id=2288 【題目大意】 給出一列數,求最多取m段
【POJ 1716】Integer Intervals(差分約束系統)
入門題 put AD edge ota 全部 lib 最小 最短 id=1716">【POJ 1716】Integer Intervals(差分約束系統) In
【BZOJ1297】[SCOI2009]迷路(矩陣快速冪)
class com ble cpp pre http 時間 new memset 【BZOJ1297】[SCOI2009]迷路(矩陣快速冪) 題面 BZOJ 洛谷 題解 因為邊權最大為\(9\),所以記錄往前記錄\(9\)個單位時間前的、到達每個點的方案數就好了,那麽矩陣大
【POJ - 3253】Fence Repair(貪心,時光倒流)
題幹: Description Farmer John wants to repair a small length of the fence around the pasture. He measures the fence and finds that he needs N