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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

P5303 [GXOI/GZOI2019]逼死强迫症(斐波拉契、矩阵乘法)

發布時間:2023/12/3 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P5303 [GXOI/GZOI2019]逼死强迫症(斐波拉契、矩阵乘法) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

解析

非常妙的一個題,感受到了斐波拉契優美的歸納性質。

首先,不難發現只要兩個1*1的位置固定,中間的擺法就固定了,而兩邊的方案都是經典的斐波拉契數列(設為 fif_ifi?)。
那么枚舉中間的間隔再枚舉左邊的長度,就有:
ans=2∑i=3n∑j=0n?ifjfn?i?jans=2\sum_{i=3}^n\sum_{j=0}^{n-i}f_jf_{n-i-j}ans=2i=3n?j=0n?i?fj?fn?i?j?
乘二是因為對于一種間隔,中間的磚有兩種擺法。
轉換一下求和順序:
ans=2∑i=0n?3fi∑j=0n?3?ifjans=2\sum_{i=0}^{n-3}f_i\sum_{j=0}^{n-3-i}f_jans=2i=0n?3?fi?j=0n?3?i?fj?
然后有一個斐波拉契的經典結論(然而我并不會):
∑i=0nfi=fn+2?1\sum_{i=0}^nf_i=f_{n+2}-1i=0n?fi?=fn+2??1
證明直接歸納即可。
所以原式就等于:
2∑i=0n?3fi(fn?1?i?1)=2(∑i=0n?3fifn?1?i?(fn?1?1))=2(∑i=0n?1fifn?1?i+1?2fn?1?fn?2)2\sum_{i=0}^{n-3}f_i(f_{n-1-i}-1)=2(\sum_{i=0}^{n-3}f_if_{n-1-i}-(f_{n-1}-1))=2(\sum_{i=0}^{n-1}f_if_{n-1-i}+1-2f_{n-1}-f_{n-2})2i=0n?3?fi?(fn?1?i??1)=2(i=0n?3?fi?fn?1?i??(fn?1??1))=2(i=0n?1?fi?fn?1?i?+1?2fn?1??fn?2?)
sn=∑i=0nfifn?is_n=\sum_{i=0}^nf_if_{n-i}sn?=i=0n?fi?fn?i?,答案就是 2(s(n?1)+1?2fn?1?fn?2)2(s(n-1)+1-2f_{n-1}-f_{n-2})2(s(n?1)+1?2fn?1??fn?2?)
再看看 sns_nsn? 等于什么:
sn=∑i=0nfifn?i=fn+fn?1+∑i=0n?2fifn?is_n=\sum_{i=0}^nf_if_{n-i}=f_n+f_{n-1}+\sum_{i=0}^{n-2}f_if_{n-i}sn?=i=0n?fi?fn?i?=fn?+fn?1?+i=0n?2?fi?fn?i?
=fn+fn?1+∑i=0n?2fi(fn?i?1+fn?i?2)=fn+sn?1+sn?2=f_n+f_{n-1}+\sum_{i=0}^{n-2}f_i(f_{n-i-1}+f_{n-i-2})=f_n+s_{n-1}+s_{n-2}=fn?+fn?1?+i=0n?2?fi?(fn?i?1?+fn?i?2?)=fn?+sn?1?+sn?2?
(第二步可以拆 fn?if_{n-i}fn?i? 是因為此時有 n?i>=2n-i>=2n?i>=2
這樣,我們就得到了 sss 的遞推式,也非常優美。
f,sf,sf,s 拼在一起構造出轉移矩陣,快速冪加速即可。

代碼

#include<bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #define debug(...) fprintf(stderr,__VA_ARGS__) #define ok debug("OK\n") using namespace std;const int N=4e5+100; const int mod=1e9+7; inline ll read(){ll x(0),f(1);char c=getchar();while(!isdigit(c)) {if(c=='-')f=-1;c=getchar();}while(isdigit(c)) {x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f; } int n,m;struct matrix{int x,y;ll a[5][5];matrix(int X,int Y){x=X;y=Y;memset(a,0,sizeof(a));} }; matrix operator * (const matrix &u,const matrix &v){matrix res(u.x,v.y);for(int k=1;k<=u.y;k++){for(int i=1;i<=u.x;i++){ll tmp=u.a[i][k];for(int j=1;j<=v.y;j++){(res.a[i][j]+=tmp*v.a[k][j])%=mod;}}}return res; } int trans[5][5]={{},{0,0,1,0,1},{0,1,1,0,1},{0,0,0,0,1},{0,0,0,1,1}, }; matrix I(4,4),o(4,4),ori(1,4); matrix ksm(matrix x,int k){matrix res=I;while(k){if(k&1) res=res*x;x=x*x;k>>=1;}return res; }signed main(){#ifndef ONLINE_JUDGEfreopen("a.in","r",stdin);freopen("a.out","w",stdout);#endifint T=read();for(int i=1;i<=4;i++) I.a[i][i]=1;for(int i=1;i<=4;i++){for(int j=1;j<=4;j++) o.a[i][j]=trans[i][j];}ori.a[1][1]=1;ori.a[1][2]=1;ori.a[1][3]=1;ori.a[1][4]=2;while(T--){n=read();if(n<=1) puts("0");else{matrix res=ori*ksm(o,n-2);//printf("%lld %lld %lld %lld\n",res.a[1][1],res.a[1][2],res.a[1][3],res.a[1][4]);printf("%lld\n",(res.a[1][4]+1-(2*res.a[1][2]+res.a[1][1])%mod+mod)*2%mod);}}return 0; } /* 1 5 0 0 5.001 5.002 */

總結

以上是生活随笔為你收集整理的P5303 [GXOI/GZOI2019]逼死强迫症(斐波拉契、矩阵乘法)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 99热最新在线 | 人人亚洲 | 理论片午夜| 午夜久久久久久久久 | 日韩小视频网站 | 国产一区二区 | 国产三级久久久久 | 九九热精 | 久久久久久久香蕉 | 中文字幕欧美一区 | 欧美一级电影在线 | 狠狠干狠狠插 | 日本熟妇一区二区三区四区 | 国内一级视频 | 欧美一区二区三区色 | 色花av | 日本aⅴ视频 | 免费观看视频一区二区 | 欧美在线一| 福利一区三区 | 久草中文在线视频 | 久久亚洲精精品中文字幕早川悠里 | 日本少妇网站 | 国产一级免费在线观看 | 久久精品女人毛片国产 | 超碰97免费在线 | 国产综合日韩 | 精品国产999久久久免费 | 91精品人妻一区二区三区四区 | 东京干手机福利视频 | 男女做那个视频 | 免费在线看污片 | 亚洲一二区视频 | japanese中文字幕 | 毛片亚洲av无码精品国产午夜 | 99精品欧美| 这里只有精品国产 | 日韩一区二区三区电影 | 3d成人动漫在线观看 | 久久字幕 | 最新免费av网站 | 天天色天天射天天干 | 人妻一区二区在线 | 成人免费观看a | 极品国产白皙 | 亚洲第一香蕉网 | 我的好妈妈在线观看 | proumb性欧美在线观看 | 国产三级伦理片 | 久久美 | 欧美久久久一区二区三区 | 久久国产精品波多野结衣av | 在线观看成年人视频 | 日本亲子乱子伦xxxx | 欧美另类69xxxx | 神马午夜伦理 | 成人免费不卡视频 | 久久精品亚洲精品 | 亚洲中文字幕97久久精品少妇 | 欧美片网站yy | 97久久久 | 一区二区免费在线视频 | 伦伦影院午夜理伦片 | 欧美丰满老熟妇xxxxx性 | 人妻丰满熟妇岳av无码区hd | 欧美搞逼视频 | 精品国产乱码久久久久久免费 | 国产精品免费av | 亚洲av人人夜夜澡人人 | 久久在线视频 | 久久午夜电影 | 哪里可以看免费毛片 | 禁网站在线观看免费视频 | 欧美日韩高清一区二区 | 亚洲石原莉奈一区二区在线观看 | 巨大乳の揉んで乳榨り奶水 | 日韩色道 | 欧美日韩国内 | 欧美h在线观看 | 国产精品伦一区二区三级视频 | 插吧插吧网 | 日日撸视频 | 国产欧美一区二区三区在线看 | 毛片网页 | 久久波多野结衣 | 无码国内精品人妻少妇蜜桃视频 | 蜜臀av一区二区 | 九九九九九精品 | 国产精品日韩一区二区三区 | 欧美性猛交久久久乱大交小说 | 中文在线中文资源 | 国产精品久久婷婷 | 亚洲精品天天 | 亚洲毛片一区二区三区 | 国产精品自拍视频 | 韩日在线视频 | 一本久道久久综合无码中文 | www色日本| 色窝窝无码一区二区三区成人网站 |