題意:
給出p,求出最小包圍的矩形的周長為p的形狀的個數,不包括矩形
思路:
發現如果包括矩形的話,這個個數就是乙個斐波那契序列
然後就先求出來包括矩形的,然後再減去就行了
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
#define lowbit(x) (x&(-x))
typedef
long
long ll;
const
int maxn = 100005;
const
int inf=(1
<<28)-1;
#define matrix_size 5
const ll mod = 987654321;
int size;
struct matrix
void output()
}matrix operator *(const matrix &b)const
}return ret;
}};matrix pow_m(matrix a,long
long n)
return ret;
}int main()
size=2;
matrix a,b;
a.clear(),b.clear();
a.mat[0][0]=a.mat[0][1]=1;
a.mat[1][0]=1;
b.mat[0][0]=1;b.mat[1][0]=1;
a=pow_m(a,n-5);
a=a*b;
int ans=a.mat[0][0];
n/=2;
if(n%2==0) ans=(ans+1)%mod;
ans=(ans-n/2*2+mod)%mod;
printf("%d\n",ans);
}return
0;}
uva108 Maximum sum(矩陣最大和)
題目 uva108 maximum sum 矩陣最大和 題目大意 給出乙個n n的矩陣,求這個矩陣的最大和。這個矩陣不是連通的,只能在這個矩陣內找子矩陣,不能越過邊界。解題思路 列舉起點和終點,每個起點和終點就是乙個矩陣,每個矩陣都算矩陣和,然後保留最大值。每個矩陣的值只要橫著相加一遍,再豎著相加一...
uva1386 矩陣快速冪
題意 乙個細胞自動機,有n個格仔,每個格仔的取值為0 m 1。給定距離d,每次操作後每個格仔的值將變為到它距離不超過d的所有格仔在操作之前的值之和除以m的餘數。思路 矩陣快速冪 include include define ll long long const int n 505 int n,m,d...
uva 11464 暴力列舉矩陣
這個題也是乙個列舉子集暴力,訓練賽的時候沒有做出來,這個對於矩陣的表示,偶數矩陣就是乙個位置的上下左右加起來都是偶數,才能算是偶數矩陣,直接暴力列舉第一行,然後確定下面的位置,然後如果有衝突那就不對,如果沒有衝突,然後比對,與之前的矩陣的變換,就可以獲得改變次數,然後每次取最小。include in...