2013 ACM/ICPC Asia Regional Changsha Online
来源:互联网 发布:gov.cn域名注册流程 编辑:程序博客网 时间:2024/06/04 18:39
题意 描述不理解, 是让求(l+sqrt(l*(l-1)))^k%k ;向下取整。
设b=sqrt(l*(l-2))
(l+b )^k是小数直接算会有错误。所以要凑成整数。
Cn=(l+b)^k +(l - b)^k ; Cn的二项式展开可以知道 b 的奇数次方会相消掉。
(l-b)是在0和1范围内的,(l-b)^k也是在0和1之间。所以结果是向上取整的。最后减1
Cn*( (l+b) +(l-b) ) = ( (l+b )^k+ (l-b)^k)* ( (l-b)+(l+b) )
2*l*Cn = ( l+b)^(k+1) + (l-b)^(k+1) +(l+b)^k *(l-b) +(l-b)^k *(l+b)
= Cn+1 + (l+b)^(k-1) *(l^2 - b^2 ) +(l-b)^(k-1) *(l^2 -b^2 );
=Cn+1 + Cn-1 *(l^2 -b^2);
所以:Cn+1 = 2*l*Cn - Cn-1 * (l^2 - b^2);
随后化成矩阵求解。
#include<cstdio>#include<cstring>#include<iostream>#include<cmath>using namespace std;#define ll long longll k,l,mod;struct Matrix{ ll m[2][2]; void init(ll x,ll y,ll h,ll k) { m[0][0]=x; m[0][1]=y; m[1][0]=h; m[1][1]=k; } Matrix operator *(const Matrix &B) { Matrix T; for(int i=0;i<2;i++) { for(int j=0;j<2;j++) { ll t=0; for(int k=0;k<2;k++) t=( t + (m[i][k]*B.m[k][j])%mod)%mod; T.m[i][j]=t; } } return T; }}res,p;int main(){ #ifndef ONLINE_JUDGE freopen("Input.txt","r",stdin); #endif // ONLINE_JUDGE while(~scanf("%lld%lld",&k,&l)) { mod=k; res.init(2*l,-(l*l-l*(l-1)),1,0); p.init(2*l,-(l*l-l*(l-1)),1,0); k-=2; while(k) { if(k&1) res=res*p; p=p*p; k>>=1; } printf("%lld\n",((res.m[0][0]*2*l+res.m[0][1]*2-1)%mod+mod)%mod ); } return 0;}
- 2013 ACM/ICPC Asia Regional Changsha Online
- 2013 2013 ACM/ICPC Asia Regional Changsha Online - H Hypersphere
- 简记2013 ACM/ICPC Asia Regional Changsha Online
- 2013 ACM/ICPC Asia Regional Changsha Online - I Grand Prix
- 2013 ACM/ICPC Asia Regional Changsha Online - J Candies
- 2013 ACM/ICPC Asia Regional Changsha Online - J Candies
- 2013 ACM/ICPC Asia Regional Changsha Online J Candies
- 2013 ACM/ICPC Asia Regional Changsha Online - J Candies
- 2013 ACM/ICPC Asia Regional Changsha Online J-Candies
- ZOJ 2013 ACM/ICPC Asia Regional Changsha Online G Goldbach
- 2013 ACM/ICPC Asia Regional Changsha Online Contest C
- zoj 数论之素数 2013 ACM/ICPC Asia Regional Changsha Online - G
- 2013 ACM/ICPC Asia Regional Changsha Online - C Color Representation Conversion
- 2013 ACM/ICPC Asia Regional Changsha Online - E Travel by Bike
- 2013 ACM/ICPC Asia Regional Changsha Online C题 Color Representation Conversion
- 2013 ACM/ICPC Asia Regional Changsha Online - E Travel by Bike
- 2013 ACM/ICPC Asia Regional Changsha Online-Problem C:Color Representation Conversion(模拟)
- 数学+模拟-2013 ACM/ICPC Asia Regional Changsha Online J 题
- Android开发环境搭建完全图解
- “没有关联的电子邮件程序来执行请求的操作” 的解决办法
- freescale 内核烧写说明
- IOS控件学习之UITableView代码实例详解
- dbms_aw.eval_number
- 2013 ACM/ICPC Asia Regional Changsha Online
- Android Fragment完全解析,关于碎片你所需知道的一切
- JS代码优化技巧之通俗版
- ps -aux
- Java Swing应用程序GUI窗口居中显示
- 数据校验码
- 两个网站使用同一个数据库,使用同一个登陆页面(一个网站从另一个网站登陆,)
- ubuntu12.04上安装Oracle jdk7
- Socket编程总结—Android手机服务器与多个Android手机客户端之间的通信(非阻塞)