当前位置: 代码迷 >> 综合 >> 快速矩阵幂+DFS构造矩阵+大数 ACdream1214 Nice Patterns Strike Back
  详细解决方案

快速矩阵幂+DFS构造矩阵+大数 ACdream1214 Nice Patterns Strike Back

热度:68   发布时间:2023-12-14 03:52:20.0

传送门:点击打开链接

题意:告诉你矩阵大小是n*m,要求矩阵中不能有2*2的白色子矩阵或者黑色子矩阵,最后种类数模P

思路:如果不是大数,这道题还是非常有意思的。。对于专门卡C++的题目也是醉了...因为n太大了,而m最大也只有5,很明显是大数上的快速矩阵幂。

问题是如何构造出矩阵出来,之前做过骨牌的题目,就是利用DFS来构造的,感觉这道题在思路上是一样的,同样也是利用DFS先构造出矩阵

然后直接大数+快速矩阵幂撸一发就行了

#include<map>
#include<set>
#include<cmath>
#include<stack>
#include<queue>
#include<cstdio>
#include<string>
#include<vector>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<functional>
#define FIN freopen("input.txt","r",stdin)
using namespace std;const int matMX = 50;
const int DLEN = 4;
const int MAXN = 9999;class BN {
public:int a[500];int len;BN(const int b = 0
  相关解决方案