当前位置: 首页 > news >正文

长沙企业网站制作服务报价15个常见关键词

长沙企业网站制作服务报价,15个常见关键词,搜索引擎培训班,wordpress添加地图题目描述 给出正整数 n,要求按如下方式构造数列: 只有一个数字 n 的数列是一个合法的数列。在一个合法的数列的末尾加入一个正整数,但是这个正整数不能超过该数列最后一项的一半,可以得到一个新的合法数列。 请你求出&#xff…

题目描述

给出正整数 n,要求按如下方式构造数列:

  1. 只有一个数字 n 的数列是一个合法的数列。
  2. 在一个合法的数列的末尾加入一个正整数,但是这个正整数不能超过该数列最后一项的一半,可以得到一个新的合法数列。

请你求出,一共有多少个合法的数列。两个合法数列 a,b不同当且仅当两数列长度不同或存在一个正整数 i≤∣a∣,使得 ai≠bi;

输入格式

输入只有一行一个整数,表示 n。

输出格式

输出一行一个整数,表示合法的数列个数。

输入输出样例

输入 #1

6

输出 #1

6

说明/提示

样例 1 解释

满足条件的数列为:

  • 6
  • 6,1
  • 6,2
  • 6,3
  • 6,2,1
  • 6,3,1

数据规模与约定

对于全部的测试点,保证 1≤n≤1000

解题分析

本题的递推其实并不困难,主要是关于递归函数的一个设计。我们假定f(n)表示对于给定的正整数n,它得到的序列个数。那么,我们可以将其与更小的数所形成的序列个数进行关联。例如说例子中的6, 它所形成的序列首先有它自己本身吧。然后,对于小于等于它的二分之一的数,都可以继续接在这个序列的后面。

所以,我们可以得到f(n)=f(1)+f(2)+....+f(m),其中m<=n/2,那么,本题就解决了。

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int dp[1005];
int f(int n){if(n==1){return 1;}if(dp[n]) return dp[n];int m=n/2;int res=1;for(int i=1;i<=m;i++){res+=f(i);}return dp[n]=res;
}int main(){int n; cin>>n;cout<<f(n)<<endl;return 0;
}

http://www.yayakq.cn/news/747735/

相关文章:

  • 网站界面设计内容有哪些长沙搭建网络环境
  • 网站网址注册互联网公司怎么起名字
  • 技术支持 桂林网站建设傻瓜app制作开发
  • 网站备案需要的材料适合个人做的网站有哪些东西吗
  • 网站建设 成都网站站内消息设计方案
  • 阿里云网站模板网上银行建设银行
  • 单页网站案例分析中国建设教育协会的网站
  • iis6.1添加网站建立个人博客wordpress
  • 公司网站可以免费建吗青海城乡建设部网站首页
  • 郑州大型网站制作合肥网页设计哪家服务好
  • 如何查看网站备案信息吗上海环球金融中心造价
  • 做ic贸易去什么网站好怎么用织梦制作响应式布局网站
  • 微软网站怎么做的济南seo外包公司
  • 简洁大气国内企业网站网站的flash怎么做
  • 广州网站建设 骏域网站建设怎么做网络营销推广
  • 自己怎么开发网站西乡网站的建设
  • 河南做网站哪家好公司网站维护费大概需要多少
  • 汝州市城乡建设局网站亿建联网站是谁做的
  • 在线图片编辑器图怪兽网站个别页面做seo
  • 做网站下载别人的图算不算侵权网站开发逻辑图
  • 北京专业网站制作免费做网站支持绑定
  • 网站建设费用什么意思wordpress性能优化插件
  • 阿里云服务器搭建网站文章自定义wordpress
  • wordpress wp_register()网站优化排名方法有哪些
  • 网站seo服务公司专业的企业小程序开发公司
  • 网站后台常用密码建立一个个人网站
  • app扁平化设计网站模板wordpress主题定制器
  • 怎么做公司网站文案建设一个网站
  • 建设厅网站密码找回装饰工程经营范围有哪些
  • 建设网站模块需要哪些沧州好的做网站的公司