Hdu 2569

突破蝙蝠的包围,yifenfei来到一处悬崖面前,悬崖彼岸就是前进的方向,好在现在的yifenfei已经学过御剑术,可御剑轻松飞过悬崖。
现在的问题是:悬崖中间飞着很多红,黄,蓝三种颜色的珠子,
假设我们把悬崖看成一条长度为n的线段,线段上的每一单位长度空间都可能飞过红,黄,蓝三种珠子,而yifenfei必定会在该空间上碰到一种颜色的珠子。
如果在连续3段单位空间碰到的珠子颜色都不一样,则yifenfei就会坠落。
比如经过长度为3的悬崖,碰到的珠子先后为 “红黄蓝”,或者 “蓝红黄” 等类似情况就会坠落,而如果是 “红黄红” 或者 “红黄黄”等情况则可以安全到达。
现在请问:yifenfei安然抵达彼岸的方法有多少种? Input
输入数据首先给出一个整数C,表示测试组数。
然后是C组数据,每组包含一个正整数n (n<40)。 Output
对应每组输入数据,请输出一个整数,表示yifenfei安然抵达彼岸的方法数。
每组输出占一行。 Sample Input
2
2
3 Sample Output
9
21

半年前不会,半年后还是不会...想了半小时,看完解析后,又想了挺久,恍然大悟

过程大概是这样的.要想顺利到达,就必须每连续3个都有2个颜色相同,那么与第N个相关的必然只有前面2个,只要我们依次从头考虑好,找出关系即可,这看过去就是递推题。

然后如何找呢...首先,你得分析出连续3个的可能情况:讨论一下给出前面2个的情况:一共2种:AB,AA,即前面2个相同,前面2个不同。

在前面2个不同的情况下,我们的N,有2种选择,与第N-1同色,或与第N-2同色.

在前面2个相同的情况下,我们有3种选择。但其中有一种是十分特殊的,就是N与N-1,N-2都同色.

总结起来,可以分2类:

(1)第n-2段与n-1段颜色相同,则第n段可以为三种颜色的任意一种:
F[n-2] * 3
(2)第n-2段与n-1段颜色不同,第n段只能为其中的两种颜色:
(F[n-1] - F[n-2]) * 2,其中(F[n-1] - F[n-2])表示从N-1中去掉与N-2同色的部分
故,总的方法数为:F[n-2] * 3 + (F[n-1] - F[n-2]) * 2 = F[n-1] * 2 + F[n-2]

更新日志

|时间 | 更新模块 |

|---------------- | ----------- --- |

|16.6.9 | HDU2569 |

最新文章

  1. ES6之字符串扩展方法(常用)
  2. BZOJ2471 : Count
  3. (转)乐观的并发策略——基于CAS的自旋
  4. 【Qt】Qt之自定义界面(QMessageBox)【转】
  5. StageFright框架流程解读
  6. Memcache的基本应用
  7. 获取被选择的radio的值
  8. qtcreator +vs2013 开发xp下使用的程序
  9. Quick Cocos2dx controller的初步实现
  10. Delphi-IP地址的隐藏
  11. 面试之路(28)-反转链表(reverse ListNode)
  12. 编写Python脚本进行ARP欺骗
  13. 监控(1)-企业常用服务监控shell
  14. python - 迭代器(迭代协议/可迭代对象)
  15. imu内参标定
  16. python day 09 文件操作
  17. 计算机网络-数据结构-MAC帧头-IP头-TCP头-UDP头
  18. nginx upstream 常用的几种调度方式
  19. EOJ Monthly 2018.11 猜价格 (模拟)
  20. core servlets &amp; server pages 上面的HttpClient GUI工具

热门文章

  1. hdu 4614 pieces 状态DP
  2. BZOJ 1977 次小生成树
  3. BZOJ 2157 旅行
  4. ffmpeg命令学习
  5. Android 系统 reboot
  6. hihoCoder #1181: 欧拉路&#183;二 (输出路径)
  7. 【C#学习笔记】Hello World
  8. Java中HashMap的数据结构
  9. 【转】Android Interface的使用
  10. Java循环语句之 for