POJ 2440 DNA(递推)

原创 2016年05月31日 18:37:40

题目地址:http://poj.org/problem?id=2440

思路:先倒着推一下,然后再暴力打数据验证想法,最后找循环节为200就可以

a[n]表示长度为n的情况数,第n位只有0或1两种情况

当第n位为0时,前一位为0或1都可以,即a[n-1]

当第n位为1,n-1位为0时,则n-2位只能为0,n-3位任意取,即a[n-3],

当第n位为1,n-1位为1时,则n-2位只能为0,n-3位只能为0,n-4位任意取,即a[n-4]

a[n]=a[n-1]+a[n-3]+a[n-4]

AC代码:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <queue>
#include <stack>
#include <map>
#include <cstring>
#include <climits>
#include <cmath>
#include <cctype>
const int inf = 0x3f3f3f3f;//1061109567
const int maxn = 1000010;
typedef long long LL;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
using namespace std;
int a[210];
void init()
{
    a[0] = 1;//注意要初始化a[0]
    a[1] = 2;
    a[2] = 4;
    a[3] = 6;
    a[4] = 9;
    for(int i=5; i<200; i++)
    {
        a[i] = (a[i-1] + a[i-3] + a[i-4]) % 2005;
    }
}
int main()
{
    init();
    int n;
    while(scanf("%d",&n) != EOF)
    {
        n %= 200;
        printf("%d\n",a[n]);
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

poj 2440 DNA 递推在模下存在循环节

题意和分析:        题意都是废话,用动态规划列个方程化下简,最后也是这题有意思的地方是求a(n)=a(n-1)+a(n-3)+a(n-3) 在模2005下的值。        你可能会说,这个...
  • sepNINE
  • sepNINE
  • 2017年07月28日 23:19
  • 142

POJ 2440 DNA

链接:http://poj.org/problem?id=2440 DNA Time Limit: 1000MS Memory Limit: 65536K Total Submi...

poj 3420 Quad Tiling(状态压缩矩阵递推)

poj 3420 Quad Tiling

Poj 3734 Blocks【递推+矩阵快速幂】好题

Blocks Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6239   Accepte...

递推-HDU2709&POJ2229

/* http://acm.hdu.edu.cn/showproblem.php?pid=2709  设F[n]为和为 n 的种类数; 由题意,加数为2的N次方(1,2,4,8...)。奇数只有1,...

POJ1088 滑雪 经典DP 记忆化搜索和递推

POJ1088 滑雪 经典DP 记忆化搜索和递推

poj2590steps数列递推

Problem D: Step by step Time Limit: 1 Sec Memory Limit: 128 MB Submit: 23 Solved: 6 [Submit][St...

POJ 1205 Water Treatment Plants(递推)

题意 建设一条河岸的污水处理系统 河岸有n个城市 每个城市都可以自己处理污水 V 也可以把污水传到相邻的城市处理 >或< 除了你传给我我也传给你这种情况 其它都是合法的 两端...

poj2591 Set Definition(递推)

poj2591 Set Definition(递推)

POJ1050 简单的递推~

POJ1050 题意就是求N*N的矩阵中最大子矩阵和,之前做过一道题COGS 997 射命丸文题目链接 和这道题比较类似,区别是要求的最大子矩阵和大小是给定的,当时用的是递推求解,代码如下:#inc...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:POJ 2440 DNA(递推)
举报原因:
原因补充:

(最多只允许输入30个字)