首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
51nod1537
】的更多相关文章
51nod-1537 1537 分解(矩阵快速幂+找规律)
题目链接: 1537 分解 问(1+sqrt(2)) ^n 能否分解成 sqrt(m) +sqrt(m-1)的形式 如果可以 输出 m%1e9+7 否则 输出no Input 一行,一个数n.(n<=10^18) Output 一行,如果不存在m输出no,否则输出m%1e9+7 Input示例 2 Output示例 9 题意: 思路: 发现跟奇数偶数有关系,然后就找出递推式,然后就快速幂,然后就A了; AC代码: #include <iostream> #include <c…
[51NOD1537] 分解(递推,矩阵快速幂)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1537 思路:一开始用二项式拆了一下,发现这个式子的形式总能变成a+b*sqrt(2)的形式.然后就列了几个. 1+1*sqrt(2) 3+2*sqrt(2) 7+5*sqrt(2) 17+12*sqrt(2) 挺明显的:ai=ai-1+2*bi-1,bi=ai-1+bi-1. 转移的矩阵: 1 2 1 1 起初我是怀疑这个题是有bug的,因为输出的结果要取模,…
51nod1537 分解
http://blog.csdn.net/qingshui23/article/details/52350523 详细题解%%%%对矩阵乘法的不熟悉.以及不会推公式 #include<cstdio> #include<cstring> #include<cctype> #include<algorithm> using namespace std; #define rep(i,s,t) for(int i=s;i<=t;i++) #define dwn…
51nod1537
题解: 预处理每一个要变换几次,然后改成每一个要改变的次数-上一个要改变的次数 然后对于区间[l,r]修改,就是l++,r+1++ dp即可(据说可以o(n)) 代码: #include<bits/stdc++.h> using namespace std; ; ],n,m; char s[N],t[N]; int read() { char rx=getchar(); ; '&&rx!='-';rx=getchar()); +rx-,rx=getchar()); return…