鐜板皢涓婅堪涓緇勬搷浣滃仛m嬈″悗錛岄棶姣忓彧鐚挭鏈夊灝戦鑺辯敓錛?/p>
銆愰瑙c戯細m杈懼埌10^9錛屾樉鐒朵笉鑳界洿鎺ョ畻銆?br /> 鍥犱負k涓搷浣滅粰鍑轟箣鍚庡氨鏄浐瀹氱殑錛屾墍浠ユ兂鍒扮敤鐭╅樀錛岀煩闃靛揩閫熷箓鍙互鎶婃椂闂村鏉傚害闄嶅埌O錛坙ogm錛夈傞棶棰樿漿鍖栦負濡備綍鏋勯犺漿緗煩闃碉紵
璇翠笅鎴戠殑鎬濊礬錛岃瀵熶互涓婁笁縐嶆搷浣滐紝鍙戠幇絎簩錛屼笁縐嶆搷浣滄瘮杈冨鏄撳鐞嗭紝閲嶇偣钀藉湪絎竴縐嶆搷浣滀笂銆?br /> 鏈変竴涓緢濂界殑鍔炴硶灝辨槸娣誨姞涓涓緟鍔╋紝浣垮垵濮嬬煩闃靛彉涓轟竴涓猲+1鍏冪粍錛岀紪鍙蜂負0鍒皀錛屼笅闈互3涓尗涓轟緥錛?br /> 瀹氫箟鍒濆鐭╅樀A = [1 0 0 0]錛?鍙峰厓绱犲浐瀹氫負1錛?~n鍒嗗埆涓哄搴旂殑鐚墍鎷ユ湁鐨勮姳鐢熸暟銆?br /> 瀵逛簬絎竴縐嶆搷浣済 i錛屾垜浠湪鍗曚綅鐭╅樀鍩虹涓婁嬌Mat[0][i]鍙樹負1錛屼緥濡俫 1錛?br /> 1 1 0 0
0 1 0 0
0 0 1 0
0 0 0 1錛屾樉鐒禰1 0 0 0]*Mat = [1 1 0 0]
瀵逛簬絎簩縐嶆搷浣渆 i錛屾垜浠湪鍗曚綅鐭╅樀鍩虹浣縈at[i][i] = 0,渚嬪e 2錛?br /> 1 0 0 0
0 1 0 0
0 0 0 0
0 0 0 1, 鏄劇劧[1 2 3 4]*Mat = [1 2 0 4]
瀵逛簬絎笁縐嶆搷浣渟 i j錛屾垜浠湪鍗曚綅鐭╅樀鍩虹涓婁嬌絎琲鍒椾笌絎琷浜掓崲錛屼緥濡俿 1 2錛?br /> 1 0 0 0
0 0 0 1
0 0 1 0
0 1 0 0錛屾樉鐒禰1 2 0 4]*Mat = [1 4 0 2]
鐜板湪錛屽浜庢瘡涓涓搷浣滄垜浠兘鍙互寰楀埌涓涓漿緗煩闃碉紝鎶妅涓搷浣滅殑鐭╅樀鐩鎬箻鎴戜滑鍙互寰楀埌涓涓柊鐨勮漿緗煩闃礣銆?br /> A * T 琛ㄧず鎴戜滑緇忚繃涓緇勬搷浣滐紝綾諱技鎴戜滑鍙互寰楀埌緇忚繃m緇勬搷浣滅殑鐭╅樀涓?A * T ^ m,鏈緇堢煩闃電殑[0][1~n]鍗充負絳旀銆?br />
涓婅堪鐨勫仛娉曟瘮杈冪洿瑙傦紝浣嗘槸瀹炵幇榪囦簬楹葷儲錛屽洜涓鴻鏋勯爇涓笉鍚岀煩闃點?br />
鏈夋病鏈夊埆鐨勬柟娉曞彲浠ョ洿鎺ユ瀯閫犺漿緗煩闃礣錛熺瓟妗堟槸鑲畾鐨勩?br /> 鎴戜滑榪樻槸浠ュ崟浣嶇煩闃典負鍩虹錛?br /> 瀵逛簬絎竴縐嶆搷浣済 i錛屾垜浠嬌Mat[0][i] = Mat[0][i] + 1錛?br /> 瀵逛簬絎簩縐嶆搷浣渆 i錛屾垜浠嬌鐭╅樀鐨勭i鍒楁竻闆訛紱
瀵逛簬絎笁縐嶆搷浣渟 i j錛屾垜浠嬌絎琲鍒椾笌絎琷鍒椾簰鎹€?br /> 榪欐牱瀹炵幇鐨勮瘽錛屾垜浠緇堝湪澶勭悊涓涓煩闃碉紝鍏嶅幓鏋勯爇涓煩闃電殑楹葷儲銆?br />
鑷蟲錛屾瀯閫犺漿緗煩闃礣灝卞畬鎴愪簡錛屾帴涓嬫潵鍙渶鐢ㄧ煩闃靛揩閫熷箓姹傚嚭 A * T ^ m鍗沖彲錛岃繕鏈変竴涓敞鎰忕殑鍦版柟錛岃棰橀渶瑕佺敤鍒發ong long銆?br /> 鍏蜂綋瀹炵幇鍙互鐪嬩笅闈㈢殑浠g爜銆?br />
銆愪唬鐮併戯細
榪欓亾棰樹袱嬈′簩鍒嗭紝鐩稿綋緇忓吀銆傞鍏堟垜浠煡閬擄紝A^i鍙互浜屽垎姹傚嚭銆傜劧鍚庢垜浠渶瑕佸鏁翠釜棰樼洰鐨勬暟鎹妯榪涜浜屽垎銆傛瘮濡傦紝褰搆=6鏃訛紝鏈夛細
A + A^2 + A^3 + A^4 + A^5 + A^6 =(A + A^2 + A^3) + A^3*(A + A^2 + A^3)
搴旂敤榪欎釜寮忓瓙鍚庯紝瑙勬āk鍑忓皬浜嗕竴鍗娿傛垜浠簩鍒嗘眰鍑篈^3鍚庡啀閫掑綊鍦拌綆桝 + A^2 + A^3錛屽嵆鍙緱鍒板師闂鐨勭瓟妗堛?/p>