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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

10.02 T3 打表找递推式+十进制快速幂 九校联考凉心模拟DAY1T1

發(fā)布時(shí)間:2025/3/21 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 10.02 T3 打表找递推式+十进制快速幂 九校联考凉心模拟DAY1T1 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目背景

金企鵝同學(xué)非常擅長用1*2的多米諾骨牌覆蓋棋盤的題。有一天,正 在背四六級單詞的他忽然想:既然兩個(gè)格子的積木叫“多米諾(domino)”,那 么三個(gè)格子的的積木一定叫“三米諾(tromino)”了!用三米諾覆蓋棋盤的題 怎么做呢?

題目描述

用三米諾覆蓋3n 的矩形棋盤,共多少種方案?三米諾可旋轉(zhuǎn);兩種 方案不同當(dāng)且僅當(dāng)這兩種圖案直接覆蓋在一起無法重疊。

輸入輸出格式

輸入格式:

一行一個(gè)整數(shù)n(n<=10^40000),表示棋盤列數(shù)。

輸出格式:

一行一個(gè)整數(shù),表示方案數(shù),對998244353 取模。

輸入輸出樣例

輸入樣例#1

2

輸出樣例#1

3

輸入樣例#2

3

輸出樣例#2

10

輸入樣例#3

29

輸出樣例#3

543450786

說明

對于10% 的數(shù)據(jù),n <=5;
對于30% 的數(shù)據(jù),n <=10^6;
對于40% 的數(shù)據(jù),n <=20001000;
對于60% 的數(shù)據(jù),n <=10^9;
對于80% 的數(shù)據(jù),n <=10^1000
對于100% 的數(shù)據(jù),n<=10^40000。

?

?

這題先爆搜把前面幾項(xiàng)打表出來,然后上OEIS高斯消元把各項(xiàng)系數(shù)求出來,設(shè)a(n)為填滿前n列的方案最后其實(shí)你可以得到一個(gè)東西

?

很顯然直接上矩陣快速冪就可以了

但是數(shù)字這么大沒法快速冪,發(fā)現(xiàn)一般的快速冪是2進(jìn)制,我們就寫十進(jìn)制快速冪套一個(gè)二進(jìn)制快速冪就可以了,其實(shí)我寫了很久好難啊woc怎么會(huì)有這種東西就是按位快速冪就可以了(逃

取模多加點(diǎn)數(shù)字。。。負(fù)數(shù)把我坑慘了,順便因?yàn)榍傲?xiàng)只能打表,所以矩陣要乘n-6次,但字符串不好操作于是乘上6次矩陣的逆就可以了

code:

1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 using namespace std; 5 const long long mod=998244353; 6 struct matrix{ 7 long long a[7][7]; 8 }; 9 long long chang[7][7]={ 10 {0,0,0,0,0,0,0}, 11 {0,1,1,0,0,0,0}, 12 {0,2,0,1,0,0,0}, 13 {0,6,0,0,1,0,0}, 14 {0,1,0,0,0,1,0}, 15 {0,0,0,0,0,0,1}, 16 {0,-1,0,0,0,0,0}, 17 }; 18 long long fan[7][7]={ 19 {0,0,0,0,0,0,0}, 20 {0,0,0,0,0,0,-1}, 21 {0,1,0,0,0,0,1}, 22 {0,0,1,0,0,0,2}, 23 {0,0,0,1,0,0,6}, 24 {0,0,0,0,1,0,1}, 25 {0,0,0,0,0,1,0}, 26 }; 27 matrix mul(matrix a,matrix b){ 28 matrix c; 29 memset(c.a,0,sizeof c.a); 30 for(long long i=1;i<=6;i++){ 31 for(long long j=1;j<=6;j++){ 32 for(long long k=1;k<=6;k++){ 33 c.a[i][j]+=(a.a[i][k]%mod*b.a[k][j])%mod; 34 c.a[i][j]%=mod; 35 } 36 } 37 } 38 return c; 39 } 40 matrix ksm(matrix a,long long b){ 41 matrix ans; 42 memset(ans.a,0,sizeof ans.a); 43 ans.a[1][1]=ans.a[2][2]=ans.a[3][3]=ans.a[4][4]=ans.a[5][5]=ans.a[6][6]=1; 44 for(;b;b>>=1){ 45 // cout<<b<<'\n'; 46 if(b&1)ans=mul(ans,a); 47 a=mul(a,a); 48 } 49 return ans; 50 } 51 void tiaoshi(matrix ans){ 52 for(long long i=1;i<=6;i++){ 53 for(long long j=1;j<=6;j++) 54 cout<<ans.a[i][j]<<" "; 55 cout<<'\n'; 56 } 57 } 58 int main(){ 59 freopen("tromino.in","r",stdin); 60 freopen("tromino.out","w",stdout); 61 string n; 62 cin>>n; 63 if(n.size()==1&&n[0]<='6'){ 64 if(n=="1")cout<<1; 65 if(n=="2")cout<<3; 66 if(n=="3")cout<<10; 67 if(n=="4")cout<<23; 68 if(n=="5")cout<<62; 69 if(n=="6")cout<<170; 70 return 0; 71 } 72 matrix base,ans; 73 memset(ans.a,0,sizeof ans.a); 74 memset(base.a,0,sizeof base.a); 75 for(long long i=1;i<=6;i++) 76 for(long long j=1;j<=6;j++) 77 base.a[i][j]=chang[i][j]; 78 ans.a[1][1]=ans.a[2][2]=ans.a[3][3]=ans.a[4][4]=ans.a[5][5]=ans.a[6][6]=1; 79 // for(long long i=1;i<=6;i++){ 80 // for(long long j=1;j<=6;j++) 81 // cout<<base.a[i][j]<<" "; 82 // cout<<'\n'; 83 // } 84 for(long long i=n.size()-1;i>=0;i--){ 85 long long num=n[i]-'0'; 86 // tiaoshi(ans); 87 // cout<<'\n'; 88 // cout<<num<<endl; 89 ans=mul(ans,ksm(base,num)); 90 // tiaoshi(ans); 91 base=ksm(base,10); 92 } 93 matrix ni; 94 for(long long i=1;i<=6;i++) 95 for(long long j=1;j<=6;j++) 96 ni.a[i][j]=fan[i][j]; 97 for(long long i=1;i<=6;i++){ 98 ans=mul(ans,ni); 99 } 100 cout<<(mod*3+ans.a[1][1]*170%mod+ans.a[2][1]*62%mod+ans.a[3][1]*23%mod+ans.a[4][1]*10%mod+ans.a[5][1]*3%mod+ans.a[6][1]*1%mod)%mod; 101 return 0; 102 }

優(yōu)秀的復(fù)雜度(誤

over

轉(zhuǎn)載于:https://www.cnblogs.com/saionjisekai/p/9742200.html

總結(jié)

以上是生活随笔為你收集整理的10.02 T3 打表找递推式+十进制快速幂 九校联考凉心模拟DAY1T1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜污| 欧美一区二区黄片 | 毛片在线免费视频 | 艳妇乳肉豪妇荡乳av无码福利 | 日韩草逼 | www.五月天婷婷 | www.桃色av嫩草.com | 亚洲一区免费在线观看 | 美女隐私免费网站 | 亚洲高清久久 | 国产 欧美 精品 | 一级a性色生活片久久毛片 爱爱高潮视频 | 午夜精品久久久久久久爽 | 土耳其xxxx性hd极品 | 成人av中文解说水果派 | 久久精品大全 | 奇米久久久 | 国产激情影院 | 五月天婷婷基地 | 少妇一级视频 | 国产精品99精品无码视亚 | 日韩av成人在线观看 | 在线观看污视频网站 | 美国免费高清电影在线观看 | 麻豆国产免费 | 精品一区二区三区无码视频 | 老湿机69福利区午夜x片 | 国产日韩欧美在线观看视频 | 中文字幕av高清 | 日韩精品视频一区二区 | 亚洲黄色一区二区三区 | 日韩天堂一区 | 国产免费又粗又猛又爽 | 天天干天天干 | 人妻体体内射精一区二区 | 亚洲一区在线观 | 欧美精品123 | 亚洲一区电影 | free性m.freesex欧美 | 手机天堂av| 黄色一级免费片 | 国产精品久久久久毛片大屁完整版 | 日韩精品一区二区亚洲av性色 | 丰满人妻一区二区三区无码av | 日韩αv| 亚洲精品乱码久久久久久 | 欧美三级欧美一级 | 亚洲国产精品久久久久久 | 精品一二三 | 亚洲精品视频播放 | 9999热视频| 99久久成人| 欧美色图另类 | 免费激情 | 亚洲国产高清国产精品 | 久久免费精彩视频 | 国产成人精品视频一区二区 | 日本免费一区二区三区视频 | 国产午夜精品久久久久 | jizz黑人| 今天最新中文字幕mv高清 | 老司机在线观看视频 | 搡老熟女老女人一区二区 | 黄色录像毛片 | 色眯眯影院 | 国产每日更新 | 嫩模一区| 国产粉嫩呻吟一区二区三区 | 日韩一级中文字幕 | 国产香蕉尹人视频在线 | 中文字幕人妻熟女在线 | 假日游船法国满天星 | 免费观看高清在线 | 亚洲国产成人在线观看 | 黄色在线免费视频 | 天天干夜夜夜 | 天堂av免费看 | 国产精品成av人在线视午夜片 | 九九黄色大片 | 免费看日产一区二区三区 | 天天做天天摸天天爽天天爱 | 中文av网 | 蜜桃av网站 | 樱花影院最新免费观看攻略 | av狠狠操| 欧美成人做爰大片免费看黄石 | 性欧美长视频 | 国产麻豆一区二区三区在线观看 | 不用播放器看av | 国产精品第一 | 午夜视频在线观看视频 | 天天射天天色天天干 | 在线视频导航 | 国产51精品 | 无码人妻丰满熟妇啪啪网站 | 中文字幕在线视频免费观看 | 成年人黄色免费视频 | 啪啪自拍| 毛片国产|