Problem - 2047

视频链接:阿牛的EOF牛肉串_哔哩哔哩_bilibili


解题思路:

1.牛肉串上只能由三种字符,E,O,F,并且不能出现OO相邻的情况,那么首先要解决的是到底以O结尾的有哪几种情况?

2.分析题意,每一个n长的牛肉串都可以看成是n-1长度的又添了一个字符,即当长度为n的方案数,是有n-1的方案数而来的,只不过,在n-1的方案数里面有些是不能用的,如果不以O 结尾的话,添加的这个字符可以是EOF三种,如果是以O结尾的话,则只能添加EF两种字符

3.设置初始化:

(1)当n=1的时候,有三种情况,E,O,F

(2)当n=2的时候,在(1)的基础上E和F可以随便加三种字符中的一种,则方案数为6,O只能加E或者F,方案数为2,则n=2时候的方案数为8种,分别为EE,EO,EF,OE,OF,FO,FF,FE

(3)当n=3的时候,是以n=2的基础上加了一个字符,n=2时候有两种情况EO和FO不能随便加字符,其他六种情况都可以随便加,那么方案数应该为6*3+2*2=22种,至此,规律已经找到

n 不能随便加的方案数 随便加的方案数 方案数
1 1 2 3
2 2 6 8
3 6 16 22

可以发现,n-1随便加的方案数必然会产生同样数量的以O结尾的,在n的时候反而是不能随便加的,n随便加的方案数=n-1不能随便加到方案数*2(因为只能加E或者F)+n-1随便加的方案数*3(因为可以加E,O,F)-不能随便加的方案数

状态转移方程为:

dp【i】.no=dp【i-1】.yes;

dp【i】.yes=dp【i-1】.no*2+dp【i-1】.yes*3-dp【i】.no;

dp【i】.sum=dp【i】.yes+dp【i】.no;


#include<bits/stdc++.h>
using namespace std;
struct node{int yes;//只能加三种字符的方案数 int no;//只能加两种字符的方案数 int sum;//方案总数
}dp[45];
int main()
{dp[1].yes=2;dp[1].no=1;dp[1].sum=3;//初始化只有一个字符的牛肉串for(int i=2;i<=40;i++)//打表处理 {dp[i].no=dp[i-1].yes;dp[i].yes=dp[i-1].no*2+dp[i-1].yes*3-dp[i].no;dp[i].sum=dp[i].no+dp[i].yes;} int n;while(cin>>n){cout<<dp[n].sum<<endl;//直接输出 }return 0;
}

6.阿牛的EOF牛肉串相关推荐

  1. HDU2047 阿牛的EOF牛肉串【递推】

    阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  2. G - 阿牛的EOF牛肉串

    今年的ACM暑期集训队一共有18人,分为6支队伍.其中有一个叫做EOF的队伍,由04级的阿牛.XC以及05级的COY组成.在共同的集训生活中,大家建立了深厚的友谊,阿牛准备做点什么来纪念这段激情燃烧的 ...

  3. 阿牛的EOF牛肉串(第一周I题)

    Description 今年的ACM暑期集训队一共有18人,分为6支队伍.其中有一个叫做EOF的队伍,由04级的阿牛.XC以及05级的COY组成.在共同的集训生活中,大家建立了深厚的友谊,阿牛准备做点 ...

  4. HDU 2047 阿牛的EOF牛肉串

    还是递推 , 方程是 f1[n] = 2 * (f1[n - 1] + f2[n - 1]) f2[n] = f1[n - 1] #include<stdio.h> int main() ...

  5. HDU 2047 [阿牛的EOF牛肉串] 递推

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2047 题目大意:用E O F三个字符组成字符串要求OO不能相邻 关键思想:画出树,考察0和非0个数的关 ...

  6. HDU 2047 阿牛的EOF牛肉串的java实现思路

    文章转载自 http://blog.csdn.net/lostaway/article/details/5742571 原题: http://acm.hdu.edu.cn/showproblem.ph ...

  7. HDU_oj_2047 阿牛的EOF牛肉面

    Problem Description 今年的ACM暑期集训队一共有18人,分为6支队伍.其中有一个叫做EOF的队伍,由04级的阿牛.XC以及05级的COY组成.在共同的集训生活中,大家建立了深厚的友 ...

  8. ACM训练赛--递推专题

    1001: Buy the Ticket Problem Description The "Harry Potter and the Goblet of Fire" will be ...

  9. 两道递推公式题的解题报告

    T1(阿牛的EOF牛肉串) 题意:一串由EOF三个字母组成的长度为\(n\)的字母串,不能出现连续的OO,求字符串种类数\(f[n]\) 答案:\(f[n]=2f[n-1]+2f[n-2]\) --① ...

最新文章

  1. python常考题_python面试总结2(函数常考题和异常处理)
  2. python编程语言的缺点-常见的AI编程语言优缺点比较,程序员千万不要入错行!...
  3. docker: docker安装和镜像下载
  4. Linux 备份系统重要服务的配置文件脚本
  5. SAP ABAP:获取汇率的完整实现之一
  6. sonarqube报错解决办法:Caused by: java.io.FileNotFoundException: /opt/sonar/temp/sharedmemory (权限不够)
  7. android 队列执行动画,Android 重学系列 渲染图层-图元缓冲队列初始化
  8. bochs镜像java模拟器_bochs镜像下载
  9. java开发随记之 Invalidate Caches / Restart
  10. 2019,一年一度的高考季来临,作文又成热门话题
  11. AutomateTheBoringStuffWithPython
  12. Youtube 开发通过遥控机控制实现快进快退功能
  13. 最新HTML微信聊天对话生成器网页源码+实测可用
  14. 网易游戏互娱 笔试题2021.8.7 Java版
  15. 跨境知道快讯:Anker出新招,一个月进账600万美金
  16. PHP技术与应用基础
  17. 基金业务中常见费用知识
  18. 中学化学教学参考杂志社中学化学教学参考编辑部2022年第12期目录
  19. 05 openEuler DDE 桌面环境的安装和使用
  20. Ibatis 大于小于符号

热门文章

  1. 计算机网络可授学位,如何报读在职研究生
  2. phpcms常用代码
  3. 使用matplotlib绘制定制化饼图(图例比例标签支持中文等)
  4. 重庆赛区ACM热身赛-8529. Cake
  5. vscode自动补全div
  6. 抖音直播带货没流量?如何解决抖音直播间不进人问题?
  7. 控制反转和依赖注入的区别
  8. CSDN 博客园 获取 文章 MD格式主题
  9. 现场玩转儿IoT数据?百度云手把手“带你”!
  10. 出现开机慢、开机黑屏长时间的进(转至卡饭论坛,帖子最早出现在爱毒霸社区论坛)之二