洛谷1962 矩陣快速冪模板

2021-08-28 18:47:58 字數 1362 閱讀 7500

#includeservo myservo_la,myservo_shou;//分別代表兩個舵機

int value=0,flag1=0,sp=50;//value即接收到的光強,sp代表舵機工作速度,flag1代表窗簾的開關情況,初始為0代表窗簾是開啟的

const int li_low=100,li_high=80,turns=1//li_low和li_high分別代表可以接受的亮度的最高值和最低值,在這個區間內舵機不動

int manual=0;//人工控制的標誌

char serialdata; //接收藍芽訊號

//在使用df9gms 360度舵機時write(90+-sp)中sp代表速度,正負代表轉動的正負

void setup()

void open_curtain()//拉開窗簾

else if('c'==serialdata)

else if('x'==serialdata)

manual=0;//解除人工控制,變為光控

} if(valueli_low&&flag1==1&&manual==0)

}

本來以為很難的,但仔細想想和普通快速冪好像寫法沒什麼區別儘管等會**由於我太蒟蒻加暴力沒寫迴圈直接全部賦值,難點在於構造矩陣,這個題

#include#includelong long qmpow(long long n)

, ,

},ans[3][3]=,,},

tmp[3][3]=;

int i,j,flag=0;

while(n!=0)

else

}tmp[1][1]=a[1][1]*a[1][1]+a[1][2]*a[2][1];

tmp[1][2]=a[1][1]*a[1][2]+a[1][2]*a[2][2];

tmp[2][1]=a[2][1]*a[1][1]+a[2][2]*a[2][1];

tmp[2][2]=a[2][1]*a[1][2]+a[2][2]*a[2][2];

a[1][2]=tmp[1][2];

a[2][1]=tmp[2][1];

a[2][2]=tmp[2][2];

a[1][1]=tmp[1][1];

for(i=1;i<=2;i++)

for(j=1;j<=2;j++)

n=n/2;

}printf("%lld",(ans[1][1]+ans[1][2])%1000000007);

return 0;

}int main()

qmpow(n-2);

return 0;

}

洛谷 模板題 快速冪(矩陣)

南昌理工學院acm集訓隊 要說快速冪矩陣就要先談談快速冪了。先上例題吧。如果你會快速冪可以直接跳到下面的快速冪矩陣 這道題是洛谷的p1226有興趣可以做一下。從題目中可以看出他的指數非常大,所有我們肯定不能用直接求出b的值,但應為他要取餘乙個值 所以我們可以運用取餘運算的一些性質。取餘運算有一些好用...

洛谷 P3390 模板 矩陣快速冪

時空限制1000ms 128mb 矩陣快速冪 給定n n的矩陣a,求a k.第一行,n,k 第2至n 1行,每行n個數,第i 1行第j個數表示矩陣第i行第j列的元素 輸出a k 共n行,每行n個數,第i行第j個數表示矩陣第i行第j列的元素,每個元素模10 9 7 2 1 1 11 1 1 1 1 1...

模板 矩陣快速冪 洛谷 P3390

題目背景 矩陣快速冪 題目描述 給定 n times nn n 的矩陣 aa,求 a kak。輸入格式 第一行兩個整數 n,kn,k 接下來 nn 行,每行 nn 個整數,第 ii 行的第 jj 的數表示 a a i,j 輸出格式 輸出 a ka k共 nn 行,每行 nn 個數,第 ii 行第 j...