HihoCoder - 1151 骨牌覆盖问题·二 (矩阵快速幂 或 公式(很难想0.0 附详细推导步骤))

题目链接:

https://hihocoder.com/problemset/problem/1151

题目:

时间限制:10000ms

单点时限:1000ms

内存限制:256MB

描述

上一周我们研究了2xN的骨牌问题,这一周我们不妨加大一下难度,研究一下3xN的骨牌问题?
所以我们的题目是:对于3xN的棋盘,使用1x2的骨牌去覆盖一共有多少种不同的覆盖方法呢?
首先我们可以肯定,奇数长度一定是没有办法覆盖的;对于偶数长度,比如2,4,我们有下面几种覆盖方式:

 

提示:3xN骨牌覆盖

输入

第1行:1个整数N。表示棋盘长度。1≤N≤100,000,000

输出

第1行:1个整数,表示覆盖方案数 MOD 12357

样例输入

62247088

样例输出

4037

题目大意:

嗯~中文题。。略过这一步0.0

题目分析:

重头戏来啦0.0  这道题其实是个系列题,从最简单的2*n的面积,到这道题的3*n的面积,后面还有k*n的面积的升级版。挺有意思的题目0.0

那么,我们应该怎么去解决这个问题呢?有两种方法这里会逐一去分析,第一种是矩阵快速幂,第二种代码简单但难想,速度也慢,就是递推公式的方法了(其实原题自带的题解就解释了矩阵快速幂的方法啦)(矩阵快速幂是正解0.0)


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值