日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

矩阵快速幂的最简单用法

發布時間:2023/12/4 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 矩阵快速幂的最简单用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

矩陣快速冪

鏈接:https://ac.nowcoder.com/acm/contest/1168/K
來源:??途W

題目描述
這個勇者明明超強卻過分慎重,勇者龍宮院圣哉與n名冒險者一起去討伐神秘魔物,龍宮院圣哉十分謹慎,他只會在最后一刻出手,
每名冒險者輪流攻擊魔物,冒險者的攻擊有著某種規律,目前造成的總傷害是上一名冒險者攻擊后造成的總傷害的4倍與上上名冒
險者攻擊后造成的總傷害的3倍之和,即當前總傷害f(n)=4f(n-1)+3f(n-2)(魔物的奇怪設定使總傷害忽高忽低),又由于異世界的奇異設定,冒險者們的總傷害
不會超過666666,即對666666取模,龍宮院圣哉清楚的知道這個魔物的血量為m(m>666666),他想知道在所有的冒險者攻
擊完了以后,自己需要造成多少點傷害才能殺死魔物?目前第一名冒險者攻擊后總共造成了4點傷害,第二名冒險者攻擊后總共造
成了233點傷害。
輸入描述:
輸入一行n,m,處理到文件結束

666666<m<1e9
2<n<1e9
輸出描述:
輸出一個整數
示例1
輸入

3 666667
輸出

665723
顯然只是一道遞推或者遞歸的題目。
遞歸代碼如下

#include<iostream> #define mood 666666 using namespace std; long long what(int n) {if(n==1)return 4;else if(n==2)return 233;elsereturn (what(n-1)*4+what(n-2)*3)%mood; } int main() {long long n,sum;while(cin>>n>>sum) {cout<<sum-what(n)<<endl;} }

這種方法可處理n較小的情況,但是因為n最大可取到十億,顯然會超時,所以這里就用到了矩陣快速冪

第一步構造矩陣
這樣就構造了一個用于快速冪的矩陣,但是一定要注意構造的矩陣一定要是方陣,這樣才能做多次相乘變換。

#include<bits/stdc++.h> #define N 2 //由于這里只有兩步遞推關系,所以這里只要用一個2*2的矩陣 typedef long long ll; #define mood 666666 using namespace std; struct unit //定義一個結構體后面便于設置二階矩陣 {ll each[N][N]; }; unit what(unit a,unit b) //用于矩陣相乘 {unit temp;for(int i=0;i<N;i++)for(int j=0;j<N;j++) {temp.each[i][j]=0;for(int k=0;k<N;k++) {temp.each[i][j]+=a.each[i][k]*b.each[k][j];temp.each[i][j]%=mood;}}return temp; //返回矩陣相乘的結果 } int main() {int s,sum;while(cin>>s>>sum) {if(s==1) {cout<<sum-4<<endl;continue;}else if(s==2) {cout<<sum-233<<endl;continue;}unit a,b;a.each[0][0]=233,a.each[0][1]=4; //初始化答案矩陣aa.each[1][0]=0,a.each[1][1]=0; //和用于快速冪的矩bb.each[0][0]=4,b.each[0][1]=1;b.each[1][0]=3,b.each[1][1]=0;s-=2;while(s>0) {if(s&1)a=what(a,b);b=what(b,b);s >>= 1;}cout<<sum-a.each[0][0]<<endl;} }

這就是矩陣快速冪,在快速冪的基礎上用一個矩陣來構造
最主要的就是構造用于快速冪的矩陣,
當然,我這里舉的例子比較簡單構造。

總結

以上是生活随笔為你收集整理的矩阵快速幂的最简单用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人一区二 | 日韩爱爱爱 | 99精品在线视频观看 | 77久久| 国产精品色哟哟 | 老外一级黄色片 | 四虎视频国产精品免费 | 久久99精品久久久久久园产越南 | 欧美成人综合在线 | 欧美日韩高清丝袜 | 国产丰满大乳奶水在线视频 | 欧美另类天堂 | 久久人人草 | 国产美女精品人人做人人爽 | av免费观看不卡 | 亚洲成人少妇 | 久久精品噜噜噜成人88aⅴ | 成年人拍拍视频 | 免费看60分钟黄视频 | 亚洲图片一区二区 | 国产精品综合在线 | 精品久久久一区 | 最近日韩中文字幕中文 | 日韩av影音先锋 | 亚洲天堂网视频 | 国产伦精品一区二区三区 | 久久久久久久女国产乱让韩 | 另类少妇人与禽zozz0性伦 | 91深夜福利 | 小镇姑娘1979版 | 一二三区在线 | 白嫩少妇激情无码 | 黄色三级网站 | 欧美,日韩,国产精品免费观看 | 欧美性大战久久久久久久 | 青青草娱乐在线 | 中文字幕日韩在线视频 | 女同在线观看 | 亚洲欧洲成人 | 青青精品视频 | 久久调教视频 | 狠狠天天 | 中文字字幕| 你懂的视频在线播放 | 亚洲精品成人片在线观看精品字幕 | 91呦呦 | 亚洲中文字幕在线一区 | 青青草污| 天天看黄色片 | 五月综合激情 | 日韩中文字幕亚洲精品欧美 | 伊人色影院 | 欧美亚洲综合网 | 成人性生生活性生交3 | 波多野结衣一区二区 | 国模私拍大尺度裸体av | 亚洲天天干 | 黄色一级在线观看 | 国产在线二区 | 国产女主播一区二区 | 亚洲第一页在线 | 亚洲国产成人无码av在线 | 日韩毛片一区 | 久久国产精品一区二区 | 国产suv精品一区二区68 | 久久影音| 午夜免费播放观看在线视频 | 国产精品国色综合久久 | 久久亚洲电影 | 色婷婷国产精品久久包臀 | 欧美性xxxxx 亚洲特黄一级片 | 国产私拍 | 国产精品国产一区二区 | 瑟瑟视频在线看 | 亚洲欧美在线观看视频 | 亚洲天堂影院 | 亚洲伊人婷婷 | 自拍偷拍色| 午夜美女福利 | 午夜电影一区二区三区 | 欧美激情视频一区二区三区在线播放 | 毛片999| 国产婷婷一区二区三区 | 91免费 看片 | 国产视频一二三 | 欧美午夜精品一区二区 | 秋霞黄色片| 久久精品动漫 | 人人干天天干 | 韩国伦理在线视频 | 国产99re| 青青草青青操 | www超碰在线 | 亚洲天堂一区二区 | 欧美福利影院 | 久热中文字幕 | 一本加勒比波多野结衣 | 实拍澡堂美女洗澡av | 日本视频www |