hdu2563——统计问题
Problem Description
1、 每次仅仅能移动一格。
2、 不能向后走(如果你的目的地是“向上”,那么你能够向左走,能够向右走,也能够向上走,可是不能够向下走);
3、 走过的格子马上塌陷无法再走第二次;
求走n步不同的方案数(2种走法仅仅要有一步不一样,即被觉得是不同的方案)。
Input
接下来的C行,每行包括一个整数n (n<=20),表示要走n步。
Output
每组的输出占一行。
Sample Input
2
1
2
Sample Output
3
7
有些统计问题能够直接通过多算几步找出规律。但这个仅仅算三步就能让人吐血,所以还是得分析过程的变化规律
设f[n]为第n步的方案,a[n]为向上走的方案。b[n]为向左右走的方案
易得f[n]=a[n]+b[n];
而上一步无论是向哪里走,这一步都能够向上走。所以a[n]=a[n-1]+b[n-1]=f[n-1];
假设上一步向左走。那么这步除了向上就仅仅能向左走,所以本来b[n]=2*(a[n-1]+b[n-1])。但少了左右的一种情况,要减去b[n-1]。所以b[n]=2*a[n-1]+b[n-1];
把上面两个式子带入f[n]得
f[n]=2*(a[n-1]+b[n-1])+a[n-1]=2*f[n-1]+f[n-2];
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
int main()
{
int n,i,j,m,a[30];
scanf("%d",&n);
while(n--)
{
a[0]=3;
a[1]=7;
scanf("%d",&m);
for(i=2;i<m;++i)
a[i]=2*a[i-1]+a[i-2];
printf("%d\n",a[m-1]);
}
return 0;
}
hdu2563——统计问题的更多相关文章
- spark处理大规模语料库统计词汇
最近迷上了spark,写一个专门处理语料库生成词库的项目拿来练练手, github地址:https://github.com/LiuRoy/spark_splitter.代码实现参考wordmaker ...
- TFS 测试用例步骤数据统计
TFS系统集成了一套BI系统,基于SQL Server的Analysis Service进行实现的.通过这几年的深入使用,能够感触到这个数据数据仓库模型是多么的优秀,和微软官方提供的数据仓库示例Adv ...
- java统计字符串单词的个数
在一些项目中可能需要对一段字符串中的单词进行统计,我在这里写了一个简单的demo,有需要的同学可以拿去看一下. 本人没怎么写个播客,如果有啥说的不对的地方,你来打我啊 不说废话了直接贴代码: 实现代码 ...
- 统计iOS项目的总代码行数的方法
打开终端, 用cd命令 定位到工程所在的目录,然后调用以下命名即可把每个源代码文件行数及总数统计出来: find . "(" -name "*.m" -or - ...
- 微信小程序二维码推广统计
微信小程序可以通过生成带参数的二维码,那么这个参数是可以通过APP的页面进行监控的 这样就可以统计每个二维码的推广效果. 今天由好推二维码推出的小程序统计工具HotApp小程序统计也推出了带参数二维码 ...
- 微信小程序监控 - HotApp统计
HotApp小程序统计,第一个专业的微信第三方小程序监控统计工具 1.什么是HotApp小程序统计 HotApp小程序统计是第一个微信第三方小程序统计工具,就像做android 和 ios开发的人知道 ...
- 有关“数据统计”的一些概念 -- PV UV VV IP跳出率等
有关"数据统计"的一些概念 -- PV UV VV IP跳出率等 版权声明:本文为博主原创文章,未经博主允许不得转载. 此文是本人工作中碰到的,随时记下来的零散概念,特此整理一下. ...
- SQL统计
--按周统计SELECT TOP 10DATENAME(year,AddDate) 年,DATENAME(week,AddDate) 周,COUNT(1) 单量,SUM(total) 总金额,AVG( ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(39)-在线人数统计探讨
系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可以确实的统计在线用户! Discuz!NT 在线用户功能算是做得比较好的!参考资料 他的原理大致是根据用户的操作间隔来确 ...
随机推荐
- 使用Ant构建简单项目
Apache Ant主要用于Java项目的构建.为什么要使用Ant: 1)项目构建不是简单的编译,各种资源需要合理构建,例如有的类需要压缩成jar文件,有的文件需要放在指定位置,有时候需要使用配置文件 ...
- Android经常使用UI组件 - Button
button(Button)是Android其中一个经常使用的UI组件.非常小可是在开发中最经常使用到.一般通过与监听器结合使用.从而触发一些特定事件. Button继承了TextView.它的功能就 ...
- EffectiveJava(14)在公有类中使用访问方法而非公有域
1.公有类永远都不应该暴露可变的域.如果域是不可变的,暴露公有类的危害就要小一些. 但是,有时候需要用包级私有的或者私有的嵌套类来暴露域,无论这个类是否可变 2.如果公有类暴露了它的访问域,要想在将来 ...
- 【MVC5】First Unit Test
1.控制器测试 注意点: 1.控制器中不要包含业务逻辑 2.通过构造函数传递服务依赖 例:MathController中有一个Add的Action using FirstUnitTest.Servic ...
- Android学习(二十一)OptionsMenu选项菜单
一.OptionsMenu选项菜单 在应用程序中点击功能按钮会弹出选项菜单,点击可以实现具体功能. 二.实现思路: 1.创建选项菜单: onCreateOptionsMenu(); 2.设置菜单项可用 ...
- redis有序集合的一个应用
一.需求 记录用户uid和上次操作时间;并清除5分钟以前的数据.用redis的一个key实现.本打算用hash,但hash类型在过期5分钟以前的数据时颇为麻烦. 二.代码实现 class LastLo ...
- Laravel请求/Cookies/文件上传
一.HTTP请求 1.基本示例:通过依赖注入获取当前 HTTP 请求实例,应该在控制器的构造函数或方法中对Illuminate\Http\Request 类进行类型提示,当前请求实例会被服务容器自动注 ...
- Codeforces Round #262 (Div. 2)解题报告
详见:http://robotcator.logdown.com/posts/221514-codeforces-round-262-div-2 1:A. Vasya and Socks http ...
- Mac环境下反编译apk
0,工具汇总 我们反编译apk主要使用下面三个工具 apktool:用于获取资源文件 dex2jar:获取源文件jar包 JD-GUI:反编译源文件jar包查看源码 找这些工具时折腾了我点时间.如今把 ...
- js 将内容复制到剪贴板
js 将内容复制到剪贴板 CreationTime--2018年7月1日15点06分 Author:Marydon function copyToClipboard(txt) { if(windo ...