国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

HDU 2604 Queuing

2019-11-11 06:05:16
字體:
供稿:網(wǎng)友

HDU 2604 Queuing

矩陣快速冪

傳送門:HUSTOJ

傳送門:HDU


題意

n個人排隊(duì),f表示女,m表示男,包含子串‘fmf’和‘fff’的序列為O隊(duì)列,否則為E隊(duì)列,有多少個序列為E隊(duì)列。


思路

矩陣快速冪搞,遞推會掛。 板子。 %%%1 %%%2


代碼

我竟然忘了矩陣乘法不可交換。。

#include<cstdio>#include<cstdlib>#include<iostream>#include<algorithm>#include<string>#include<cstring>#include<vector>#include<cmath>#include<queue>#define _ ios_base::sync_with_stdio(0);cin.tie(0);using namespace std;const int MAXN=4;const int oo=0x3f3f3f3f;typedef long long LL;const LL loo=4223372036854775807ll;int MOD=0;struct Matrix{ int ma[MAXN][MAXN]; Matrix(){ memset(ma, 0, sizeof(ma)); } Matrix(Matrix &a) { for(int i=0;i<MAXN;i++) { for(int j=0;j<MAXN;j++) { ma[i][j]=a.ma[i][j]; } } }};Matrix Operator *(Matrix &a, Matrix &b){ Matrix c; for(int i=0;i<MAXN;i++) { for(int j=0;j<MAXN;j++) { for(int k=0;k<MAXN;k++) { c.ma[i][j]=(c.ma[i][j]+(a.ma[i][k]*b.ma[k][j])%MOD)%MOD; } } } return c;}Matrix operator ^(Matrix &a, int m){ Matrix t; for(int i=0;i<MAXN;i++) t.ma[i][i]=1; while(m) { if(m&1) t=a*t; a=a*a; m>>=1; } return t;}int main(){_ int L; while(cin>>L>>MOD) { Matrix a, b, c; a.ma[0][0]=9;a.ma[1][0]=6;a.ma[2][0]=4;a.ma[3][0]=2; b.ma[0][0]=b.ma[0][2]=b.ma[0][3]=b.ma[1][0]=b.ma[2][1]=b.ma[3][2]=1; if(L==0) cout<<0<<endl; else if(L<=4) cout<<a.ma[4-L][0]%MOD<<endl; else { L-=4; c=b^L; c=c*a; cout<<c.ma[0][0]<<endl; } } //system("pause"); return 0;}
上一篇:Hdu 1237

下一篇:windows 字符

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 吐鲁番市| 安阳县| 苏尼特左旗| 新邵县| 金山区| 鹤庆县| 湖南省| 玉门市| 息烽县| 庆元县| 永登县| 平顺县| 辽源市| 柘城县| 潢川县| 印江| 台湾省| 冕宁县| 遂溪县| 平湖市| 宁强县| 金华市| 那坡县| 黄骅市| 微山县| 正镶白旗| 博白县| 渭南市| 中西区| 永和县| 浮梁县| 涡阳县| 赫章县| 甘肃省| 永福县| 余干县| 开化县| 盐津县| 泰顺县| 济阳县| 沂水县|