由于棋盘只有两行,所以如果第i列的骨牌竖着放,那么就转移为第1列到第i-1列骨牌有多少种摆法如果第一行第i列骨牌横着放,那么第二行第i列也要横着放,那么就转移为了第1列到第i-2列骨牌有多少种方法dp[i] = dp[i-1] + dp[i-2],但是列数太多了。 这种递推的算式可以用矩阵快速幂来优...
分类:
其他好文 时间:
2015-04-17 17:55:42
阅读次数:
122
题目来源
hiho一下 第四十一周
正在进行: 2天05小时28分钟25秒
首页
题目列表
我的提交
排名
讨论
报名人数:1264
题目1 : 骨牌覆盖问题·一
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
骨牌,一种古老的玩具。今天我们要研究的是骨牌的覆盖问题:
我们有一个2xN的长条形棋盘,然后用1x2的骨牌去...
分类:
其他好文 时间:
2015-04-16 15:51:12
阅读次数:
139
const int MAXN = 110;
struct Matrax
{
int m[MAXN][MAXN];
}a,per;
int N,M;
void Init()
{
for(int i = 0; i < N; ++i)
for(int j = 0; j < N; ++j)
{
scanf("%d",&a.m[i]...
分类:
其他好文 时间:
2015-04-16 15:46:29
阅读次数:
112
题意 求费波拉契数列第N项 1≤N≤100,000,000
通过矩阵的幂 可以把一维递推的时间复杂度减小到O(logN) 主要就是快速幂的思想
对于m^n 若
n=2^a1+2^a2+...+2^ak 那么
m^n = m^(2^a1) * m^(2^a2) * ... * m^(2^ak)
那么只用看n转换为二进制后哪些位为1就可以快速求出m^n了
#include...
分类:
其他好文 时间:
2015-04-13 19:01:35
阅读次数:
124
题目
骨牌,一种古老的玩具。今天我们要研究的是骨牌的覆盖问题:
我们有一个2xN的长条形棋盘,然后用1x2的骨牌去覆盖整个棋盘。对于这个棋盘,一共有多少种不同的覆盖方法呢?
举个例子,对于长度为1到3的棋盘,我们有下面几种覆盖方式:
输入
第1行:1个整数N。表示棋盘长度。1≤N≤100,000,000
输出
第1行:1个整数,表示覆盖方案数 MOD 19999997
...
分类:
其他好文 时间:
2015-04-13 11:01:49
阅读次数:
178
事情是这样的。太久没切矩阵找了两道题爽一爽。然后泰林大神就满脸堆笑地说大神来坐坐这道题吧!然后我就来看这题。然后觉得这题没多难啊,直接用类似最短路的方法,然后只要把图存成矩阵就可以矩阵搞一搞啊。然后愉快的码好,交上去,wa傻了。对着代码看了很久还是不行。决定写对拍。然后泰林大神说黄学长有写,这样好啊...
分类:
其他好文 时间:
2015-04-12 01:24:38
阅读次数:
153
【题目链接】click here~~
【题目大意】
Jzzhu has invented a kind of sequences, they meet the following property:
You are given x and
y, please calculate fn modulo
1000000007(109?+?7).
【解题思路】...
分类:
其他好文 时间:
2015-04-11 22:39:36
阅读次数:
179
【题目链接】click here~~
【题目大意】
M斐波那契数列F[n]是一种整数数列,它的定义如下:
F[0] = a
F[1] = b
F[n] = F[n-1] * F[n-2] ( n > 1 )
现在给出a, b, n,你能求出F[n]的值吗?对每组测试数据请输出一个整数F[n],由于F[n]可能很大,你只需输出F[n]对1000000007取模后的值即...
分类:
其他好文 时间:
2015-04-11 22:37:15
阅读次数:
188
【题目链接】click here~~
【题目大意】
Let's define another number sequence, given by the following function:
f(0) = a
f(1) = b
f(n) = f(n-1) + f(n-2), n > 1
When a = 0 and b = 1, this sequence gives the...
分类:
其他好文 时间:
2015-04-11 20:52:48
阅读次数:
152
题意:给一个数列a[i]=2a[i-1](如果i是偶数) a[i]=2a[i-1]+1(如果i是奇数);求a[n]%m (1
思路:明显用矩阵快速幂,可以推出通项:a[n]=2*a[n-2]+a[n-1]+1
当然并不需要动脑...直接当成偶数处理就好,是奇数的话单独再递推一项就好。也就是a[i]=4a[i-2]+2
//4990 0MS 1620K 1196 B C++
#include...
分类:
其他好文 时间:
2015-04-10 11:31:48
阅读次数:
89