动态规划--牛客网19校招--魔法深渊

题目描述

前几个月放映的头号玩家简直火得不能再火了,作为一个探索终极AI的研究人员,月神自然去看了此神剧。

由于太过兴奋,晚上月神做了一个奇怪的梦,月神梦见自己掉入了一个被施放了魔法的深渊,月神想要爬上此深渊。

 

已知深渊有N层台阶构成(1 <= N <= 1000),并且每次月神仅可往上爬2的整数次幂个台阶(1、2、4、....),请你编程告诉月神,月神有多少种方法爬出深渊

输入描述:

输入共有M行,(1<=M<=1000)第一行输入一个数M表示有多少组测试数据,接着有M行,每一行都输入一个N表示深渊的台阶数

输出描述:

输出可能的爬出深渊的方式

示例1

输入

复制

4
1
2
3
4

输出

复制

1
2
3
6

备注:

为了防止溢出,可将输出对10^9 + 3取模

如果台阶数为4,每一步可以爬1,2,4,个台阶,则dp[4]=dp[3]+dp[2]+dp[0]

同理有dp[n]=dp[n-1]+dp[n-2]+dp[n-4]+......

一、递归的方法(但是本题递归在提交时会超时,因此需采用第二种非递归的方法):

#include<stdio.h>
#include<math.h>
int Mod=1000000003;
int Fun(int n)
{
    int i=0,sum=0,t,x;
    if(n==1)
    {
        return 1;
    }
    if(n==0)
    {
        return 1;
    }
    if (n ==2)
    {
        return 2;
    }
    while(1)
    {
        t=pow(2,i);
        if(n-t<0)
        {
            break;
        }
        sum+=Fun(n-t);
        sum%=1000000003;
        i++;
    }
    return sum;
}
int main()
{
    int n,t,i,N;
    scanf("%d",&N);
    int a[N];
    for(i=0;i<N;i++)
    {
        scanf("%d",&n);
        a[i]=Fun(n);    
    }
    for(i=0;i<N;i++)
    {
        printf("%d\n",a[i]);
    }
}

二、非递归

#include<stdio.h>
#include<math.h>
int Mod=1000000003;
int main()
{
    int n,t,i;
    int dp[1000],j;
    dp[0]=1;
    dp[1]=1;
    for(i=2;i<=1000;i++)
    {
        dp[i]=0;
        for(j=1;j<=i;j*=2)
        {
            dp[i]+=dp[i-j];
            dp[i]%=Mod;
        }
    }
    int N;
    scanf("%d",&N);
    int a[N];
    for(i=0;i<N;i++)
    {
        scanf("%d",&n);
        a[i]=dp[n];    
    }
    for(i=0;i<N;i++)
    {
        printf("%d\n",a[i]);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python离线安装pip.whl_20180903 - Python Pip 工具下载whl包与离线安装

20180903 - Python Pip 工具下载whl包与离线安装1. 我的Blog2. 简介信息摘要&#xff1a;Linux下&#xff0c;python&#xff0c;pip工具离线安装包Author: andy_yhmyeah.netDate: 20180903关键字&#xff1a;python&#xff0c;python3,pip,pip3,requirements.txt,freeze3. 查…

android 运行jquery,Android端JQueryMobile使用教程(一)

一、 通过Javascript访问Android的Java代码1.其实WebApp这个版块已经放置一段时间了&#xff0c;但是一直没有写文章&#xff0c;那是因为我还在学习中。iscrollview下载地址:https://github.com/watusi/jquery-mobile-iscrollview iscroll 下载地址:http://cubiq.org/iscroll-…

物理学走向尽头了?

制图&#xff1a;James OBrien作者&#xff1a;罗伯特戴克赫拉夫&#xff08;Robbert Dijkgraaf&#xff09;文章来源&#xff1a;环球科学物理学是否已经穷尽了人类探索的极限&#xff1f;亦或是才刚刚开始&#xff1f;普林斯顿高等研究所主任戴克赫拉夫给出了他的看法。物理学…

逆向工程-真码保存在系统文件破解QQ游戏对对碰助手

1&#xff09;注册栏中输入任意值测试 1.2&#xff09;记录弹出的关键字对话框 2.1&#xff09;发送至PEID进行查壳 2.2&#xff09;发现无壳 2.3)将软件载入OllyDBG程序 2.4&#xff09;在反汇编栏下右键选择中文搜索引擎-》智能搜索 2.5&#xff09;找到弹窗信息双击进入 3.0…

动态规划--Leetcode746

数组的每个索引做为一个阶梯&#xff0c;第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。 每当你爬上一个阶梯你都要花费对应的体力花费值&#xff0c;然后你可以选择继续爬一个阶梯或者爬两个阶梯。 您需要找到达到楼层顶部的最低花费。在开始时&#xff0c…

yaml parse python_python-yaml

示例相同的数据使用YAML与json表示&#xff0c;对比如下&#xff1a;listYAML- Mark McGwire- Sammy Sosa- Ken GriffeyJSON["Mark McGwire","Sammy Sosa","Ken Griffey"]list typeYAML[Mark McGwire, Tom Curry, Steve Thompson]JSON["Mar…

欢迎参加《城市大脑全球标准研究报告》发布会

《2020城市大脑全球标准研究报告》将与2020年12月23日在北京正式发布。这份报告是科学院研究团队基于城市大脑基础理论研究并与产业实践结合&#xff0c;形成的世界第一份城市大脑全球标准研究报告。欢迎新闻媒体、科研机构、科技企业、政府部门的记者&#xff0c;专家和领导参…

动态规划--Leetcode62--不同路径

一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为“Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为“Finish”&#xff09;。 问总共有多少条不同的路径&#xff1f; 例如&…

async await 同步方法调用异步方法死锁

同步方法调用异步方法.GetAwaiter().GetResult()计算函数超时&#xff0c;异步方法所有的回调操作都会期望返回到主线程。 所以会导致各种线程死锁。异步方法中使用ConfigureAwait(false)解决 1 public void Check(){           //todo2 //验证user…

7 php 内存泄漏_PHP 内存泄漏分析定位

引用前言本文开始撰写时我负责的项目需要用php开发一个通过 Socket 与服务端建立长连接后持续实时上报数据的常驻进程程序&#xff0c;在程序业务功能开发联调完毕后实际运行发送大量数据后发现内存增长非常迅速&#xff0c;在很短的时间内达到了 php 默认可用内存上限 128M &a…

html5+实现图片自动切换,js图片自动切换效果处理代码

var curIndex0;//时间间隔 单位毫秒var timeInterval1000;var arrnew Array();arr[0]"1.jpg";arr[1]"2.jpg";arr[2]"3.jpg";arr[3]"4.jpg";arr[4]"5.jpg";arr[5]"6.jpg";arr[6]"7.jpg";setInterval(cha…

深度学习已经彻底改变了制造业的质量控制,但还不够深入

Photo-illustration: Neurala来源&#xff1a;IEEE电气电子工程师这是一篇客座文章。这里所表达的观点只是作者的观点&#xff0c;并不代表IEEE Spectrum或IEEE的立场。在2020年&#xff0c;我们看到了深度学习的加速利用&#xff0c;这是所谓的工业4.0革命的一部分&#xff0c…

HTML--标签

基本 <html>…</html> 定义 HTML 文档 <head>…</head> 文档的信息 <meta> HTML 文档的元信息 <title>…</title> 文档的标题 <link> 文档与外部资源的关系 <…

Pycharm简单配置及详细快捷键介绍

Pycharm的配置 修改主题&#xff1a; File-》Setting&#xff1a; Appearance&Behavior->UI Options->Theme: 显示行号&#xff1a; Editor-General-Appearance 选择show line numbers显示行号&#xff1a; 修改字体大小&#xff1a; Editor-Colors&Font-Font&am…

linux 查看vnc端口_VNC常用操作及常见问题解决办法汇总

VNC登录用户缺省是root,但在安装oracle时必须用oracle用户的身份登录,下面我们就以oracle为例说明如何配置VNC,从而可以使用不同的用户登录到主机。 步骤描述如下: 步骤一:修改/etc/sysconfig/vncservers,添加oracle用户,修改后内容如下: VNCSERVERS="1:root 2:ro…

html5+游戏+广告,给html5 游戏添加admob广告挣钱盈利

给html5游戏添加admob广告挣钱盈利经过几年的发展&#xff0c;html5逐渐发展起来&#xff0c;特别是今年以来已经有不少html5游戏作品面世&#xff0c;作为开发者&#xff0c;如何通过html5游戏挣钱还是个问题。这里就先介绍下通过给html5游戏或者html5应用添加广告挣取收入的方…

“重”磅!人造物质量首超全球生物量

图片来源&#xff1a;HUSEYINTUNCER/ ISTOCK来源&#xff1a;科学技术哲学作者&#xff1a;辛雨12月10日&#xff0c;《自然》发表的最新研究显示&#xff0c;建筑、道路、汽车等人造物体的质量现已超过地球上的生物总量&#xff0c;而每周的新增物量相当于地球上近80亿人口的总…

06-图1 列出连通集

06-图1 列出连通集&#xff08;25 分&#xff09;给定一个有N个顶点和E条边的无向图&#xff0c;请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时&#xff0c;假设我们总是从编号最小的顶点出发&#xff0c;按编号递增的顺序访问邻接点。输入格式:输入…

c# 带返回值的action_C#委托的介绍(delegate、Action、Func、predicate)

委托是一个类&#xff0c;它定义了方法的类型&#xff0c;使得可以将方法当作另一个方法的参数来进行传递。事件是一种特殊的委托。1.委托的声明(1). delegatedelegate我们常用到的一种声明Delegate至少0个参数&#xff0c;至多32个参数&#xff0c;可以无返回值&#xff0c;也…

html固定表的属性是什么,css如何固定表头

css如何固定表头实现头部导航栏固定用到的属性是&#xff1a;position:sticky 。粘性定位元素(stickily positioned element)是计算后位置属性为 sticky 的元素。盒位置根据正常流计算(这称为正常流动中的位置)&#xff0c;然后相对于该元素在流中的 flow root(BFC)和 containi…