HRBUST1589(数学递推)

彩桥

Time Limit: 1000 MS Memory Limit: 32768 KB

64-bit integer IO format: %lld , %llu Java class name: Main

[Submit] [Status]
[Discuss]

题目链接:http://acm.hrbust.edu.cn/vj/index.php?c=problem-problem&id=75523

Description

Cc用了药水之后状态全满,现在出现在他们眼前的是一个悬崖,悬崖之间有一座不停在变换着颜色的桥,wd发现桥是由一个个变换着颜色的板组成,每次只能够从一个板走到相邻的一块板上,而且不能回头。每块板只会在红,黄,蓝三种颜色之间变换。如果想要到达对岸必须经过此桥,wd突然发现了桥的一个玄妙的的地方,就是经过的时候,连续的三个板如果颜色都不相同,就会有杯具发生...例如:经过的时候如果走过的连续三个是“红黄蓝”就会不妙,但是“红红蓝”“蓝蓝蓝”等情况就可以。

Cc问wd:到达对岸的方法一共有多少种?

Input

多组测试数据,第一行一个整数T,表示数据的组数。

接下来T行,每行一个整数n,表示桥是由n块板组成。

Output

输出一个整数表示经过这座桥的总的方法数,每组输出占一行。

Sample Input


2

2

3

Sample Output


9

21

Hint

注意结果会很大请用long long

解题思路:

姐姐一A了这道题,赛后姐姐说第一眼就对它有感觉,感觉是递推·······Orz·······姐姐数学感觉比我好·········

仰慕的听姐姐给我们讲了下思路,对于a[1]一定有3种情况,a[2]一定有9种情况,这是毋庸置疑的。接下来开始

递推,分颜色全相同和颜色有不同来考虑:

当n = 3 时

(1)颜色全相同,此时有3*3=9种情况;

(2)颜色有不同,此时有(9 - 3 = 6) * 2 = 12 种情况。综上,当n = 3时有9 + 12 = 21种。

当n = 4使

(1)颜色全相同,此时有3 * 9 = 27种;

(2)颜色由不同,此时有(21-9 = 12) * 2 = 24种。综上,当n = 4时有27 + 24 = 51种。

完整代码:

#include <functional>
#include <algorithm>
#include <iostream>
#include <fstream>
#include <sstream>
#include <iomanip>
#include <numeric>
#include <cstring>
#include <climits>
#include <cassert>
#include <complex>
#include <cstdio>
#include <string>
#include <vector>
#include <bitset>
#include <queue>
#include <stack>
#include <cmath>
#include <ctime>
#include <list>
#include <set>
#include <map>
using namespace std;

#pragma comment(linker, "/STACK:102400000,102400000")

typedef long long LL;
typedef double DB;
typedef unsigned uint;
typedef unsigned long long uLL;

/** Constant List .. **/ //{

const int MOD = int(1e9)+7;
const int INF = 0x3f3f3f3f;
const LL INFF = 0x3f3f3f3f3f3f3f3fLL;
const DB EPS = 1e-9;
const DB OO = 1e20;
const DB PI = acos(-1.0); //M_PI;
const int maxn = 1000001;
LL a[maxn];
int main()
{
    #ifdef DoubleQ
    freopen("in.txt","r",stdin);
    #endif
    int T;
    scanf("%d",&T);
    a[1] = 3;
    a[2] = 9;
    for(int i = 3 ; i < maxn ; i ++)
    {
        a[i] = 3 * (a[i-2]) + 2 * (a[i-1] - a[i-2]);
    }
    while(T--)
    {
        int n;
        scanf("%d",&n);
        printf("%lld\n",a[n]);
    }
}
时间: 2024-11-06 19:00:16

HRBUST1589(数学递推)的相关文章

uva live 4123 Glenbow Museum 数学递推

// uva live 4123 Glenbow Museum 数学递推 // // 题目大意: // // 对于一个边平行于坐标轴的多边形,我们可以用一个序列来描述,R和O,R表示 // 该顶点的角度为90度,O表示该定点的角度为270.给定序列的长度.问能由这些RO序 // 列组成的星型多边形(内部存在一个点可以看到所有的节点的多边形)的方法数有多少. // // 解题思路: // // 顶点数一定是序列的长度.n小于4无法组成多边形.n为奇数的时候也不行.设R的个数有 // x个,O的个数

HDU2047 阿牛的EOF牛肉串 【数学递推】

阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 19521    Accepted Submission(s): 9125 Problem Description 今年的ACM暑期集训队一共有18人,分为6支队伍.其中有一个叫做EOF的队伍,由04级的阿牛.XC以及05级的COY组成.在共同的集训生活中,大家建立了深

uva 766 - Sum of powers(数学+递推)

题目连接:uva 766 - Sum of powers 题目大意:将Sk(n)=∑i=1nik化简成Sk(n)=ak+1nk+1+aknk+?+a0M 解题思路: 已知幂k,并且有(n+1)k=C(kk)nk+C(k?1k)nk?1+?+C(0k)n0结论. 所以令 (n+1)k+1?nk+1=C(kk+1)nk+C(k?1k+1)nk?1+?+C(0k+1)n0 nk+1?(n?1)k+1=C(kk+1)(n?1)k+C(k?1k+1)(n?1)k?1+?+C(0k+1)(n?1)0 - 2

ACM学习历程——ZOJ 3822 Domination (2014牡丹江区域赛 D题)(概率,数学递推)

Description Edward is the headmaster of Marjar University. He is enthusiastic about chess and often plays chess with his friends. What's more, he bought a large decorative chessboard with N rows and M columns. Every day after work, Edward will place

UVa 10943 (数学 递推) How do you add?

将K个不超过N的非负整数加起来,使它们的和为N,一共有多少种方法. 设d(i, j)表示j个不超过i的非负整数之和为i的方法数. d(i, j) = sum{ d(k, j-1) | 0 ≤ k ≤ i },可以理解为前j-1个数之和为i-k,最后一个数为k 还有一种更快的递推办法,把这个问题转化为将N个小球放到K个盒子中的方法数,盒子可以为空. 就等价于求x1 + x2 +...+ xK = N的非负整数解的个数,根据组合数学的知识容易算出结果为C(N+K-1, K-1). 所以也可以这样递推

[luogu]P1066 2^k进制数[数学][递推][高精度]

[luogu]P1066 2^k进制数 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w. 在这里,正整数k(1≤k≤9)和w(k<W≤30000)是事先给定的. 问:满足上述条件的不同的r共有多少个? 我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个“0”或“1”组成),S对应于上述条件(3)中的q

ACM学习历程——HDU4814 Golden Radio Base(数学递推) (12年成都区域赛)

Description Golden ratio base (GRB) is a non-integer positional numeral system that uses the golden ratio (the irrational number (1+√5)/2 ≍ 1.61803399 symbolized by the Greek letter φ) as its base. It is sometimes referred to as base-φ, golden mean b

ACM学习历程—Hihocoder 1164 随机斐波那契(数学递推)

时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 大家对斐波那契数列想必都很熟悉: a0 = 1, a1 = 1, ai = ai-1 + ai-2,(i > 1). 现在考虑如下生成的斐波那契数列: a0 = 1, ai = aj + ak, i > 0, j, k从[0, i-1]的整数中随机选出(j和k独立). 现在给定n,要求求出E(an),即各种可能的a数列中an的期望值. 输入 一行一个整数n,表示第n项.(1<=n<=500) 输出 一行一个

ACM学习历程——HDU4472 Count(数学递推) (12年成都区域赛)

Description Prof. Tigris is the head of an archaeological team who is currently in charge of an excavation in a site of ancient relics.        This site contains relics of a village where civilization once flourished. One night, examining a writing r