题目链接:

pid=4990" style="color:rgb(255,153,0); text-decoration:none; font-family:Arial; line-height:26px">http://acm.hdu.edu.cn/showproblem.php?pid=4990

思路:曾经有一个矩阵乘法的做法请戳这儿。。

開始我们把数都不模。。。

能够得到一个规律

n:1        ans:1      4^0 
                        n:2     ans:2         2*(4^0)

2                
5      4^0+4^1                        4              10 
     2*(4^0+4^1)

3                 21    4^0+4^1+4^2                6 
            42      2*(4^0+4^1+4^2  )

7                 85    4^0+4^1+4^2+4^3         8 
            170   
2*(4^0+4^1+4^2+4^3  )

所以能够看出规律。。

。然后我们直接计算。

。。。注意不能用等比数列的求和公式。。。。得用分治法中的等比数列求和。。。。。

code:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath> using namespace std; typedef __int64 LL; int mod; LL power(LL p,LL n) //高速幂
{
LL sq=1;
while(n>0)
{
if(n%2) sq=sq*p%mod;
n/=2;
p=p*p%mod;
}
return sq;
} LL sum(LL p,LL n) //等比数列求和
{
if(n==0) return 1;
if(n%2)
{
return (sum(p,n/2)*(1+power(p,n/2+1)))%mod;
}
else
{
return (sum(p,n/2-1)*(1+power(p,n/2+1))+power(p,n/2))%mod;
}
} int main()
{
int n,m;
while(scanf("%d%d",&n,&m)==2)
{
mod=m;
int ans=0;
if(n&1)
{
ans=sum(4,n/2);
}
else
{
ans=sum(4,n/2-1);
ans*=2;
}
printf("%d\n",ans%mod);
}
return 0;
}

最新文章

  1. Linux 克隆虚拟机引起的&ldquo;Device eth0 does not seem to be present, delaying initialization&rdquo;
  2. mongo db 分享 ppt
  3. excel上传和下载
  4. ListView控件的用法
  5. Linux的进程优先级-邹立巍
  6. [转] Linux文件系统之hard link&amp;symbol link
  7. thinkphp中Conf的配置
  8. Fragment与Activity交互(使用Handler)
  9. mysql 主从同步 实现增量备份
  10. TempFile模块
  11. linux 下使用 tc 模拟网络延迟和丢包
  12. day10_friest_自动化
  13. eolinker使用初体验(一)
  14. [HNOI2008]玩具装箱TOY(斜率优化)
  15. c# 调试模式下Swaggerf附加接口参数
  16. [Hanani]JAVA大数相关学习记录
  17. C# 把字符串中间的多个连续的空格转化成一个空格
  18. 使用shell数据处理数据实例①-------手把手教学版
  19. eql高可用部署方案
  20. 全国Uber优步司机奖励政策 (1月25日-1月31日)

热门文章

  1. tensorflow 学习笔记-- tf.reduce_max、tf.sequence_mask
  2. vue 自定义指令使用
  3. python 3 廖雪峰博客笔记(一) python特性
  4. C++ 之 string
  5. UML系统建模学习
  6. 零基础入门学习Python(2)--用Python设计第一个游戏
  7. dsu+树链剖分+树分治
  8. js给对象添加属性
  9. 数据库 SQL SQL转义
  10. Spark 静态内存管理