BZOJ 5118
矩阵乘也是可以欧拉定理的HHH
所以幂次就是$(2^n-1) ~ mod ~ \varphi(p)$就好了
const ll p=1125899839733759ll;
inline ll mu(ll n,ll m,ll p){ll r=0;for(;m;m>>=1,n=(n+n)%p)if(m&1)r=(n+r)%p;return r;}
inline ll pw(ll n,ll m){ll r=1;for(;m;m>>=1,n=mu(n,n,p-1))if(m&1)r=mu(r,n,p-1);return r;}
#define prm(a) //{For(i,0,2)For(j,0,2)printf("%lld%c",(a)[i][j]," \n"[j==1]);}
template<int H>struct Matrix{
ll a[H][H];Matrix(ll t=0){For(i,0,H)For(j,0,H)a[i][j]=(i!=j?0:t);}
ll*operator[](const int&t){return a[t];}
Matrix operator*(const Matrix&t)const{
Matrix r;
For(k,0,H)For(i,0,H)For(j,0,H)
r[i][j]=(r[i][j]+mu(a[i][k],t.a[k][j],p))%p;
return r;
}
Matrix operator^(ll k){Matrix r(1),n=*this;prm(r);for(;k;k>>=1,n=n*n)if(k&1)r=r*n;return r;}
};
Matrix<2>a;
int main(){
int T;ll n;cin>>T;
while(T--){
cin>>n;
n=pw(2ll,n)-1;
a[0][0]=a[0][1]=a[1][0]=1,a[1][1]=0;
a=a^(n);
prm(a);
cout<<a[0][0]<<endl;
}
}
还有一个奇怪的操作:
$\sqrt{5}$ 在这个模数的意义下是存在的,所以直接带入 $f_n = \dfrac{\sqrt{5}}{5}[(\dfrac{\sqrt{5}+1}{2})^n+(\dfrac{1-\sqrt{5}}{5})^n]$
BZOJ 5118的更多相关文章
- BZOJ 2127: happiness [最小割]
2127: happiness Time Limit: 51 Sec Memory Limit: 259 MBSubmit: 1815 Solved: 878[Submit][Status][Di ...
- BZOJ 3275: Number
3275: Number Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 874 Solved: 371[Submit][Status][Discus ...
- BZOJ 2879: [Noi2012]美食节
2879: [Noi2012]美食节 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1834 Solved: 969[Submit][Status] ...
- bzoj 4610 Ceiling Functi
bzoj 4610 Ceiling Functi Description bzoj上的描述有问题 给出\(n\)个长度为\(k\)的数列,将每个数列构成一个二叉搜索树,问有多少颗形态不同的树. Inp ...
- BZOJ 题目整理
bzoj 500题纪念 总结一发题目吧,挑几道题整理一下,(方便拖板子) 1039:每条线段与前一条线段之间的长度的比例和夹角不会因平移.旋转.放缩而改变,所以将每条轨迹改为比例和夹角的序列,复制一份 ...
- 【sdoi2013】森林 BZOJ 3123
Input 第一行包含一个正整数testcase,表示当前测试数据的测试点编号.保证1≤testcase≤20. 第二行包含三个整数N,M,T,分别表示节点数.初始边数.操作数.第三行包含N个非负整数 ...
- 【清华集训】楼房重建 BZOJ 2957
Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经常无聊地看着窗外发呆,数自己能够看到多少栋房子. 为了简化问题,我们考虑这些 ...
- 【splay】文艺平衡树 BZOJ 3223
Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 ...
- bzoj 刷水
bzoj 3856: Monster 虽然是sb题,,但是要注意h可能<=a,,,开始忘记判了WA得很开心. #include <iostream> #include <cst ...
随机推荐
- 分布式监控系统开发【day38】:主机存活检测程序解析(七)
一.目录结构 二.入口 1.文件MonitorServer.py import os import sys if __name__ == "__main__": os.enviro ...
- Client-Side Template Injection with AngularJS
<html> <head> <meta charset="utf-8"> <script src="https://cdn.bo ...
- [数学杂志]AML
Copied from: http://www.elsevier.com/journals/applied-mathematics-letters/0893-9659/guide-for-author ...
- [再寄小读者之数学篇](2014-06-22 函数恒为零的一个充分条件 [中国科学技术大学2011年高等数学B考研试题])
设 $f(x)$ 在 $\bbR$ 上连续, 又 $$\bex \phi(x)=f(x)\int_0^x f(t)\rd t \eex$$ 单调递减. 证明: $f\equiv 0$. 证明: 设 $ ...
- Mocha
Mocha https://mochajs.org/#installation Mocha is a feature-rich JavaScript test framework running on ...
- centos7安装notepadqq
这是在centos7 上发表的第一篇博文 对linux系统陌生,折腾了一天,安装好了搜狗输入法.相关文章也不少,但照着一步一步来,都没有成功.最后照着这篇弄成了: ****** 安装notepadd+ ...
- Python不能用于大型项目?关于Python的10大误解
 语言多元化是PayPal编程文化中一个重要的组成部分.在C++和Java长期流行的同时,更多的团队选择了Jva和Scala.同时,Braintree的收购也引入了一个久经世故的Ruby社区.Pyt ...
- javascript中事件对象注册与删除
事件对象 注册事件 直接给dom对象设置属性,只能给对象设置一个属性,如果设置多个事件处理函数,则最后的生效: 给html标签设置属性,(若法1和法2同时使用,则法1生效): 事件注册 绑定事件监听函 ...
- 利用jQuery如何获取当前被点击的按钮
如下代码 <tr> <td><a href="javascript:void(0)">点我1</a></td> < ...
- appJSON["window"]["navigationBarTextStyle"] 字段需为 black 或 white
appJSON["window"]["navigationBarTextStyle"] 字段需为 black 或 white 改动成这个就可以了 &qu ...