- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HNUST递推专题) Derson Xiang 一只小蜜蜂 /showproblem.php?pid=2044 递推,峰房号1 2 3 4 5 6 (i=b-a) 路径数为1 2 3 5 8 13 (roads[i]) 相当于一个fib数列: roads[i]=roads[i-1]+roads[i-2]; Hdoj_2044源代码: #includestdio.h int main() { int i,n,a,b; __int64 roads[51]={1,1}; for(i=2;i=50;i++) roads[i]=roads[i-1]+roads[i-2]; scanf(%d,n); while(n--) { scanf(%d%d,a,b); printf(%I64d\n,roads[b-a]); } return 0; } LELE的RPG难题 /showproblem.php?pid=2045 首先易知f(1)=3;f(2)=6;f(3)=6;f(4)=18; 当n3时,求f(n)。在涂色第n个格子时,考虑2种情况: 1)若第n-1个格子和第一个格子色不同,则涂法为f(n-1); 2)若第n-1个格子和第1个格子相同,则第n-2个格子和第1个格子必然不同,此时为f(n-2)。再乘第n个格子的颜色数,很显然第n个格子可以是第1个格子(即第n-2个格子)的颜色外的另外两种,这样涂法为2*f(n-2); 因此总的情况为f(n)=f(n-1)+2*f(n-2); Hdoj_2045源代码: #includestdio.h int main() { int n,i; __int64 a[51]; a[1]=3; a[2]=6; a[3]=6; for(i=4;i=50;i++) a[i]=a[i-1]+2*a[i-2]; while(scanf(%d,n)!=EOF) printf(%I64d\n,a[n]); } 骨牌铺方格 /showproblem.php?pid=2046 递推,考虑有2*n个,从最左边考虑, 假设2*n有F[n]个, 当最左边是竖时,则剩余的n-1列有f[n-1]种排列; 当最左边是2个横时,则剩余的n-2列有f[n-2]中排列。 Hdoj_2046源代码: #include stdio.h int main() { int i,num; __int64 f[52]; f[1] = 1; f[2] = 2; f[3] = 3; for(i=4; i=50; ++i) f[i] = f[i-1]+f[i-2]; while(scanf(%d, num) != EOF) printf(%I64d\n, f[num]); return 0; } 阿牛的EOF牛肉串 /showproblem.php?pid=2047 递推! N=1时,有3种 N=2时,有8种 N=3时,有 2*(8+3)=22种 Hdoj_2047源代码: #include stdio.h int main() { int n = 0; while(scanf(%d,n)!=EOF) { int j=2; _int64 f = 0, f1 = 3, f2 = 8; if(n==1) f = f1; if(n==2) f = f2; while(jn) { f = 2*(f2 + f1); f1 = f2; f2 = f; j++; } printf(%I64d\n, f); } return 0; } 汉诺塔III (递推题) /showproblem.php?pid=2064 题目分析: 把n 个盘子从A 间接(不能把盘子直接从A 移到C )移到C 需要以下五步: 1. 把n - 1 个盘子间接从A 移到C,移动次数:f(n - 1) 2. 把最大的盘子从A 移到B,移动次数: 1 3. 把n - 1 个盘子间接从C 移到A,移动次数: f(n - 1) 4. 把最大的盘子从B 移到C,移动次数: 1 5. 把n - 1 个盘子间接从A 移到C,移动次数: f(n - 1) 易得f(n) = 3 *f(n - 1) + 2, f(1) = 2; Hdoj_2064源代码: 神、上帝以及老天爷(错排题) /showproblem.php?pid=2048
您可能关注的文档
最近下载
- 核心素养导向的初中数学试题命制策略与实例.pdf VIP
- 外研版(三起)三年级上册英语Unit 3《It’s a colourful world》第1课时Start up教学课件(新教材).pptx
- 江西省2024年中考英语真题【附参考答案】.pdf VIP
- 紫外可见分光光度法(共73张课件).pptx VIP
- 激光原理及应用(第4版)全套完整教学课件.pptx
- 大模型和智能体安全风险治理与防护.pptx
- (小学四年级信息技术题库四年级.doc VIP
- 《马克思主义与社会科学方法论》1-7章课后习题及答案.pdf VIP
- 生产部三年规划.pptx
- 2025年四川宜宾中考英语真题及答案 .pdf VIP
原创力文档


文档评论(0)