擅长排列的小明 II

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述

小明十分聪明,而且十分擅长排列计算。

有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2,3,4,5......n满足以下情况的排列:

1、第一个数必须是1

2、相邻两个数之差不大于2

你的任务是给出排列的种数。

输入
多组数据。每组数据中输入一个正整数n(n<=55).
输出
输出种数。
样例输入
4

样例输出

4

推了一个下午,终于弄明白了,找到了其中的规律;

不过还是看了学长的题解明白的,我觉得值得推荐一下

(为了简便起见,我们用Ai代表第i个数字)

由于A1一直是1,所以A2只能是2或3。

1.当A2=2时,从A2到An的排列(2~n)相当于从A1到An-1的排列(1~n-1)(把每个数字都加1),一共有f[n-1]种情况。

2.当A2=3时,A3可能为2,4,5。

   当A3=2时,A4一定等于4,此时从A4到An的排列(4~n)相当于从A1到An-3的排列(把每个数字都加3),一共有f[n-3]种情况。

   当A3=4时,不管A4取不取2,都不能形成满足题意的排列,故此种情况不可能发生。

   当A3=5时,排列只可能是1 ,3, 5,7,9......10,8,6,4,2,所以一共有1种情况。


综上所述,f[n]=f[n-3]+f[n-1]+1;(n>3)


#include<stdio.h>
int dp[60]={0,1,1,2};
int main()
{int n,i;for(i=4;i<60;i++){dp[i]=dp[i-1]+dp[i-3]+1;}while(~scanf("%d",&n)){printf("%d\n",dp[n]);}
}

nyoj-469--擅长排列的小明 II相关推荐

  1. NYOJ 469 擅长排列的小明 II (dp问题)

    地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=469 思路:动态规划dp 题目分析: 由于第一个只能是1,则第二个数只能是2,3 当第二个数是 ...

  2. 动态规划(6)——NYOJ469擅长排列的小明II*

    擅长排列的小明 II 描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2,3,4,5......n满足以下情况的排列: 1.第一个数必须是1 2. ...

  3. nyoj 19 擅长排列的小明(深搜,next_permutation)

    擅长排列的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难 ...

  4. NYOJ 19 擅长排列的小明

    擅长排列的小明 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你 ...

  5. 擅长排列的小明 II

    描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2,3,4,5......n满足以下情况的排列: 1.第一个数必须是1 2.相邻两个数之差不大于2 ...

  6. NYOJ 擅长排列的小明 II---Problem B

    擅长排列的小明 II 时间限制:1000 ms  |  内存限制:65535 KB 描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2,3,4,5 ...

  7. NYOJ 擅长排列的小明 酒馆浪人的博客

    这道题依旧是全排列只不过根D的小L略有不同 擅长排列的小明 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5 ...

  8. 擅长排列的小明(nyoj19)

    擅长排列的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难 ...

  9. nyist oj 19 擅长排列的小明(dfs搜索+STL)

    擅长排列的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描写叙述 小明十分聪明.并且十分擅长排列计算.比方给小明一个数字5,他能立马给出1-5按字典序的全排列,假设你想 ...

最新文章

  1. Median of Two Sorted Arrays
  2. SharePoint 2007 迁移所有数据库
  3. python get rect 函数_python笔记之函数
  4. Spring Cloud-鸿鹄Cloud分布式微服务云系统—架构图
  5. 不要学习代码,要学会思考(转)
  6. java反编译工具_Java开发必会的反编译知识(附支持对Lambda进行反编译的工具)...
  7. 工作笔记-关于工具函数的编写问题
  8. 链表的分解(C++)
  9. 王昶衡(帮别人名字作诗)
  10. 使用base标签后图片无法加载_Spring 源码学习(二)-默认标签解析
  11. ubuntu查看安装软件的版本
  12. 【渝粤教育】广东开放大学 商务翻译实务 形成性考核 (49)
  13. 最基础的GNN与GCN理解
  14. mac下hadoop 2.6.0编译native library
  15. Acwing算法基础课学习笔记
  16. [SQL Server][Machine Learning]Realtime评分(预测)
  17. 万物心选happy nocnoc,承包宝宝的整个秋天
  18. 4、PIC32系列 GPIO介绍
  19. 北漂五年,分享一下关于我的职场故事
  20. java反射各种属性获取

热门文章

  1. 你要避开的 5 个数据驱动雷区
  2. 基于Git rebase修改历史提交信息
  3. Android 基础(二十四) EditText
  4. 1050 循环数组最大子段和
  5. 【Win 10 应用开发】文件读写的三种方案
  6. DPM2010恢复整个邮箱数据库
  7. 计算机及其系统的泄密渠道之三
  8. 配置System Center Data Protection Manager 2007
  9. SQL Server 2000 安装中的“一般性网络错误”
  10. pycharm和vs code的使用体验