日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > HDU1575-Tr A(矩陣快速冪)

HDU1575-Tr A(矩陣快速冪)

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-09-27 05:31:03 閱讀次數(shù):2221次

題目鏈接


題意:A為一個(gè)方陣,則Tr A表示A的跡(就是主對(duì)角線上各項(xiàng)的和),現(xiàn)要求Tr(A^k)%9973。

思路:簡(jiǎn)單的矩陣快速冪

代碼:

#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> using namespace std; //typedef long long ll; typedef __int64 ll; const int MOD = 9973; const int N = 15; ll k; int n; struct mat{ int s[N][N]; mat() { memset(s, 0, sizeof(s)); } mat operator * (const mat& c) { mat ans; for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) for (int k = 0; k < N; k++) ans.s[i][j] = (ans.s[i][j] + s[i][k] * c.s[k][j]) % MOD; return ans; } }; mat state; mat pow_mod(ll k) { if (k == 1) return state; mat a = pow_mod(k / 2); mat ans = a * a; if (k % 2) ans = ans * state; return ans; } int main() { int cas; scanf("%d", &cas); while (cas--) { scanf("%d%I64d", &n, &k); for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) scanf("%d", &state.s[i][j]); mat c = pow_mod(k); int ans = 0; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (i == j) ans += c.s[i][j]; printf("%d ", ans % MOD); } return 0; }

題目鏈接

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲色图25p| 成人性生交大片免费观看嘿嘿视频 | 成人区精品一区二区 | 日韩在线视频免费 | 亚洲欧洲另类 | 尤物国产 | 91色在线视频 | 黄色在线观看视频网站 | 国产在线观看一区二区三区 | 免费精品国产的网站免费观看 | 在线电影91 | 精品综合久久 | 国产视频观看 | 久久天堂网 | 久久精品亚洲一区二区三区浴池 | 国产成人精品视频 | 懂色av一区二区三区免费 | 久久久久久久国产精品 | 亚洲国产精品一区 | 欧美综合激情网 | 久久黄色视 | 精品久久一区二区三区 | 在线一区 | 午夜视频在线免费 | 久久av一区二区三区亚洲 | 黄色成人在线网站 | 成人精品国产免费网站 | 欧美一区二区三区 | 日韩成人性视频 | av午夜 | 国产欧美久久一区二区三区 | 国产一区二区三区四区五区tv | 91成人网| 国产91免费看 | 精品国产欧美一区二区三区成人 | 日本一区2区 | www.亚洲免费 | 亚洲伦理一区二区 | 国产激情一区二区三区 | 国产高清一级 | 日本精品视频一区二区 |