NYOJ 469 擅长排列的小明 II

点击打开链接NYOJ 469

1思路:递推
2分析:为了简便起见,我们用Ai代表第i个数字 , 由于A1一直是1,所以A2只能是2或3。假设dp[n]表示1->n这个序列的方案数
           1.当A2=2时,从A2到An的排列(2~n)相当于从A1到An-1的排列(1~n-1)(把每个数字都加1),一共有dp[n-1]种情况。
           2.当A2=3时,A3可能为2,4,5。
               1、当A3=2时,A4一定等于4,此时从A4到An的排列(4~n)相当于从A1到An-3的排列(把每个数字都加3),一共有dp[n-3]种情况。
               2、当A3=4时,不管A4取不取2,都不能形成满足题意的排列,故此种情况不可能发生。
               3、当A3=5时,排列只可能是1 ,3, 5,7,9......10,8,6,4,2,所以一共有1种情况。
           3综上所述,dp[n]=dp[n-3]+dp[n-1]+1;(n>3)

代码:

#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define MAXN 60

int n;
long long dp[MAXN];

/*预处理出所有的结果*/
void solve(){
     memset(dp , 0 , sizeof(dp));
     dp[1] = dp[2] = 1;
     dp[3] = 2 ; dp[4] = 4;
     for(int i = 5 ; i <= MAXN ; i++)
          dp[i] = dp[i-1] + dp[i-3] + 1;
}

int main(){
    solve();
    while(scanf("%d" , &n) != EOF)
        printf("%lld\n" , dp[n]);
    return 0;
}
时间: 2025-01-21 08:05:21

NYOJ 469 擅长排列的小明 II的相关文章

擅长排列的小明

擅长排列的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他,在这5个数字中选出几个数字让他继续全排列,那么你就错了,他同样的很擅长.现在需要你写一个程序来验证擅长排列的小明到底对不对. 输入 第一行输入整数N(1<N<10)表示多少组测试数据, 每组测试数据第一行两个整数 n m (1<n<9,0<m<=n) 输出 在1-n中选

hdu 4527 小明系列故事之玩转十滴水

小明最近喜欢上了一个名为十滴水的游戏. 开发"> 游戏是在一个6*6的方格 内进行的,每个格子上有一滴水或者没有水滴.水滴分为四个等级1~4.初始时你有十滴水,通过把水加 入格子内的水滴,会让水滴升1级.你也可以把水放到空格子内,这样会在这个格子里面产生一个1级的 水滴.当水滴等级大于4时则会爆裂为四个小水滴,并向四个方向飞溅.每个飞溅的小水滴碰到其他水滴 后会融入其中,使其升一级或者爆裂,以此类推.飞溅的小水滴互不干扰,运动速度相等(1秒可以移动 一个格子的距离).水滴爆裂后就消失掉了.

编程-小明和小红在山上奔跑的难题

问题描述 小明和小红在山上奔跑的难题 小明和小红是好朋友,他们相约在山坡上奔跑,小明的速度是小红的1.5倍,小红每跑5圈就被小明追上一次. 编程输入小明奔跑的速度,运用学过的定时器的知识,模拟显示小明和小红跑步的过程.按esc退出程序. 解决方案 急,管用不?还是自己动手吧 要 Turbo C 2.0 的编程环境,现在难找 解决方案二: 作业题目请自己动脑思考~不要过于依赖他人,这只会让你能力下降~ 解决方案三: 我貌似看过这个题目了,又问一次么? 解决方案四: you should do yo

编程-小明和小红在山坡上奔跑

问题描述 小明和小红在山坡上奔跑 小明和小红是好朋友,他们相约在山坡上奔跑,小明的速度是小红的1.5倍,小红每跑5圈就被小明追上一次. 编程输入小明奔跑的速度,运用学过的定时器的知识,模拟显示小明和小红跑步的过程.按esc退出程序. 解决方案 例如,设置一个 1 秒的定时器和一个 1.5 秒的定时器,满足 1.5 倍的关系就行.两个定时器分别控制两点在一个环形线路上运行,就可以彀模拟的效果. 解决方案二: 诡异的条件! 小明的速度是小红的1.5倍,则他们速度的公倍数是 3 的倍数,最小公倍数为

程序员小明相亲记:如何破解妹子的环游世界难题

简评:程序猿的我们其实也渴望爱情哇,我们不是只需要抱着电脑睡觉,起床后和电脑说早安,面对的电脑经历一日三餐的呀,其实我们这些程序员只希望能够一个人能够懂得自己的,理解我们为什么会执着与代码,理解我们为什么会像女生买包一样囤书.其实每个程序员上辈子都是折翼的天使,只等你来说那句"Hello World". 话说有一个程序员叫小明,业务能力挺不错,人也不丑,但是一直没有女朋友,周围同事朋友们都很着急. 后来有一天小明一个人去看电影<爱宠大机密>,刚好坐在他隔壁的MM也是一个人,

胡小明:切断非法捆绑软件的获利通道

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   据人民网报道,在2013年10月份人民网组织的互联网软件捆绑安装专题研讨会上,中国信息协会副会长胡 小明表示,捆绑销售还是要区别对待,对那些非法或危害用户利益的捆绑软件,应切断其获利通道. 胡小明指出,捆绑销售本身并无对错,是一种销售行为,而且这种销售行为在很多的情况下,给用户是带来好处的,寻求对用户都有利的东西来进行捆绑,这是应该得以支持的.但一些非法捆绑软件

密歇根州立大学教授刘小明讲解:人脸识别的新技术 | 大牛讲堂

雷锋网按:本文作者刘小明,密歇根州立大学计算机科学与工程系助理教授,计算机视觉.模式识别.生物识别和机器学习领域专家.曾任ICPR,WACV和CVPR等多个计算机视觉及图像处理国际顶尖会议主席,获得多项国际学术大奖.共发表或出版100余本学术文章,持有22项美国专利. 在计算机视觉领域,人脸识别一直以来都是学术界和工业界的双重宠儿.学术上的热门和工业市场的迫切需求,使得围绕该方向的核心技术自深度学习爆发以来,得到了更为迅猛的发展. 得益于深度学习,当前计算机对人脸属性的分析判断在某些(姿态.光照

java 课题 小明要到美国旅游 关于 摄氏度和华氏度的题目

问题描述 小明要到美国旅游关于摄氏度和华氏度的题........

HDOJ 2096 小明A+B

Problem Description 小明今年3岁了, 现在他已经能够认识100以内的非负整数, 并且能够进行100以内的非负整数的加法计算. 对于大于等于100的整数, 小明仅保留该数的最后两位进行计算, 如果计算结果大于等于100, 那么小明也仅保留计算结果的最后两位. 例如, 对于小明来说: 1) 1234和34是相等的 2) 35+80=15 给定非负整数A和B, 你的任务是代表小明计算出A+B的值. Input 输入数据的第一行为一个正整数T, 表示测试数据的组数. 然后是T组测试数