hdu2045 不容易系列三——LELE的RPG难题 (递推方程)

本文出自:blog.csdn.net/svitter

原题:http://acm.hdu.edu.cn/showproblem.php?pid=2045

题意:中文不用我说了吧。

这个题目的关键就在于递推方程——以及错误的测试数据

首先这个题目就是简单的置换群着色问题——

去除了反转的问题,难一点的大家可以看P197(离散数学,高等教育出版社)

我在做这个题目的时候首先被f [ 1 ]  = 3 困扰了。。拜托,根本不符合题意好吗- =一个格子能说是首尾颜色不同吗?

后来写错了递推方程——f [ n ] = f [ n - 1 ] + 3 * f [ n - 2 ],把 f [ n - 1 ] 的情况多考虑了一遍- = 。

正确的方程应该是 —— f [ n ] = f [ n - 1 ] + 2 * f [ n - 2 ] , n >= 4; (去除了f [ 1 ] = 3 这个坑爹的干扰。)

写成lln是为了防止超范围——写完以后记得DEBUG一下看看有没有超范围——

代码:

#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;
#define lln long long int

lln f[51];

void ace()
{
    memset(f, 0x3f, sizeof(f));
    int i;
    f[1] = 3;
    f[2] = 6;
    f[3] = 6;
    for(i = 4; i <= 50; i++)
    {
        f[i] = f[i - 1] + 2 * f[i - 2];
    }

    int t;
    while(~scanf("%d", &t))
    {
        printf("%I64d\n", f[t]);
    }

}

int main()
{
    ace();
    return 0;
}

hdu2045 不容易系列三——LELE的RPG难题 (递推方程),布布扣,bubuko.com

时间: 2024-12-19 08:22:01

hdu2045 不容易系列三——LELE的RPG难题 (递推方程)的相关文章

HDU 2045不容易系列之三LELE的RPG难题(趋向于DP的递推)

不容易系列之(3)-- LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 30222 Accepted Submission(s): 12144 Problem Description 人称"AC女之杀手"的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多"Cole"(LELE的粉丝,即&q

HDU 2045不easy系列之三LELE的RPG难题(趋向于DP的递推)

不easy系列之(3)-- LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 30222 Accepted Submission(s): 12144 Problem Description 人称"AC女之杀手"的超级偶像LELE近期忽然玩起了深沉,这可急坏了众多"Cole"(LELE的粉丝,即

HDU 2045 不容易系列之(3)—— LELE的RPG难题(递归/动态规划)

不容易系列之(3)—— LELE的RPG难题 Problem Description 人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题: 有排成一行的n个方格,用红(Red).粉(Pink).绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法. 以上就是著名的RPG难题.

杭电2045--不容易系列之(3)—— LELE的RPG难题

不容易系列之(3)—— LELE的RPG难题 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 7   Accepted Submission(s) : 4 Problem Description 人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深

杭电 HDU ACM 2045 不容易系列之(3)—— LELE的RPG难题

不容易系列之(3)-- LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 34689    Accepted Submission(s): 13913 Problem Description 人称"AC女之杀手"的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多"Cole"(LELE的

hdoj 2045 不容易系列之(3)—— LELE的RPG难题 【动态规划】

f(n) 为n个格子的方法数目, 假设第n-1个格子的颜色跟第1个相同,那f(n) = 2×f(n-2); 因为第n-1个格子颜色已确定,第n个格子可以涂的颜色有两种,故为2×f(n-2); 第n-1个格子的颜色跟第1个不相同时,f(n) = f(n-1); 所以动态方程为f(n) = f(n-1)+2×f(n-2): 不容易系列之(3)-- LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/3276

hdu 2045 不容易系列之(3)—— LELE的RPG难题(java)

问题: 开始用的long,装不下,就立马想用大数来做. 在long装不下时不要立马就用大数,可以试试用double,double可以满足大多数要求 不容易系列之(3)-- LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 35395    Accepted Submission(s): 14209 Problem D

不容易系列之(3)—— LELE的RPG难题

f(n) = 1, ... , n-2 , n-1, n前n-2个已涂好后,涂第n-1个即有2种情况: 1. n-1的色与n-2和1的色都不相同,那么n就是剩下的那个色,米选择.即就是f(n-1)2. n-1的色与n-2不相同但与1个色一样,那么n的色就有2个色选择.即就是f(n-2)*2 综上得:f(n) = f(n-1) + 2*f(n-2); #include<stdio.h> #include<stdlib.h> int main(){ int n,i; __int64 a

HDU 2045 LELE的RPG难题(递推)

不容易系列之(3)—— LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 16913    Accepted Submission(s): 6742 Problem Description 人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过