51nod 1537 分解(矩陣快速冪)

2021-08-05 21:24:27 字數 576 閱讀 7914

參考:

標程中提到了構造對偶式,我去,這咋整啊,搞不了

但是就根據標程來推,這些東西都能推出來。。。

奇偶都能推出來sqrt(m)+sqrt(m−1)=a+b∗sqrt(2)

然後根據(1+√2)^n=a+b∗2打個表,找規律就好了。找不到規律的話,拿著序列去oeis一查就知道了

#include 

using

namespace

std;

typedef

long

long ll;

ll n;

typedef

vector

vec;

typedef

vector

mat;

const ll mod = 1e9+7;

mat mul(mat& a, mat &b)

mat pow(mat a, ll n)

return b;

}void debug(mat& res)

ll solve()

int main()

51Nod 1537 分解(矩陣快速冪)

博主鏈結 給乙個n,求出對應m滿足 1 sqrt 2 n sqrt m sqrt m 1 可以將 1 sqrt 2 n一項項拆開後發現 sqrt 1 sqrt 2 sqrt 9 sqrt 8 sqrt 49 sqrt 50 sqrt 492 9 sqrt 492 10 發現如果n為奇數f n f n...

51nod 1573 分解 矩陣快速冪

51nod 演算法馬拉松17 告別奧運 b 分解 51nod 演算法馬拉松17 告別奧運 b 分解 題意 給出乙個 n 問 1 2 n能否拆成m m 1 的形式,如果能,輸出 m 否則輸出 no。想法觀察 1 2 n,它總能寫成a b2 的形式,如果a2 n m,2 b2 n m 1 或者a2 n ...

51Nod 1113 矩陣快速冪

acm模版 模版題,矩陣快速冪,很直白的一道題。需要好好研究一下矩陣的知識了 include using namespace std define maxn 111 define mod x x mod define mod 1000000007 define ll long long int n ...