參考:
標程中提到了構造對偶式,我去,這咋整啊,搞不了
但是就根據標程來推,這些東西都能推出來。。。
奇偶都能推出來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 ...