dti是什么意思_happygame是哪个应用

dti是什么意思_happygame是哪个应用2018.10.24-dtij-2636-262144(game)

大家好,又见面了,我是你们的朋友全栈君。

题目描述:

Bessie likes downloading games to play on her cell phone, even though she does find the small touch screen rather cumbersome to use with her large hooves.

She is particularly intrigued by the current game she is playing. The game starts with a sequence of N positive integers (2≤N≤262,144), each in the range 1…40. In one move, Bessie can take two adjacent numbers with equal values and replace them a single number of value one greater (e.g., she might replace two adjacent 7s with an 8). The goal is to maximize the value of the largest number present in the sequence at the end of the game. Please help Bessie score as highly as possible!

给定n个1到40之间的数,每次可以将两个相邻的相等的数替换成一个比它们大1的数(比如,相邻的7 7可以替换成8),你需要让最后剩下的数中的最大数尽量大

输入:

The first line of input contains N, and the next N lines give the sequence of N numbers at the start of the game.

输出:

Please output the largest integer Bessie can generate.

算法标签:DP(很常见的一个类似倍增的dp)

思路:

其实合并的过程很类似一个倍增的过程,且仔细分析发现数字的大小最大值58大概,所以就用

当f[i][j]!=0&&f[f[i][j]+1]!=0时可以有转移f[i][j+1]=f[f[i][j]+1][j];

以下代码:

dti是什么意思_happygame是哪个应用
dti是什么意思_happygame是哪个应用

#include<bits/stdc++.h>
#define il inline
#define _(d) while(d(isdigit(ch=getchar())))
using namespace std;
const int N=262150;int n,f[N][70],m;
il int read(){
    
    int x,f=1;char ch;_(!)ch=='-'?f=-1:f;x=ch^48;_()x=(x<<1)+(x<<3)+(ch^48);return f*x;}
int main()
{
    n=read();for(int i=1;i<=n;i++){
    
    int x=read();f[i][x]=i;m=max(m,x);}
    for(int i=1;i<=m;i++)for(int j=1;j<=n;j++)
        if(f[j][i]!=0&&f[f[j][i]+1][i]!=0){
            f[j][i+1]=f[f[j][i]+1][i];if(i+1>m)m=i+1;
        }printf("%d\n",m);
  return 0;
}

View Code

 

转载于:https://www.cnblogs.com/Jessie-/p/9845740.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107236.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CSS实现水平垂直居中的1010种方式(史上最全)

    CSS实现水平垂直居中的1010种方式(史上最全)

    2021年6月12日
    135
  • 运算放大器加法器设计学习笔记

    运算放大器加法器设计学习笔记运算放大器构成加法器可以分为同相加法器和反相加法器第一种 同相加法器举个栗子 Vin1 0 4 Sin wt 也就是一个正弦信号 Vin2 1V 那么要实现两个信号的叠加而且相位不发生变化 也就是 Vout 1 0 4Sin wt 那么就可以使用同相加法器 也就是需要实现如下过程 图片极其丑陋 请略过 笑哭原理图如下图所示 借用网上的图 那么怎么计算这些电阻的取值呢 首先这里的输入端是相当于有两个电压源 那么为了确定每一个源在 V

    2025年10月31日
    3
  • 非线程安全对象�

    非线程安全对象�

    2021年12月2日
    32
  • Nexus3的使用[通俗易懂]

    Nexus3的使用[通俗易懂]nexus的简介、安装以及Maven项目中使用Nexus仓库

    2022年7月12日
    19
  • 自监督学习 | (1) Self-supervised Learning入门

    自监督学习 | (1) Self-supervised Learning入门原文地址本文通过整理自监督学习的一系列工作,把主流方法分成三大类,方便大家更全面的了解自监督学习的定义、方法、用途。学习的范式我们首先来回顾下机器学习中两种基本的学习范式,如图所示,一种是监督学习,一种是无监督学习(林轩田课程中把机器学习范式分为监督学习、半监督学习、无监督学习以及强化学习)。监督学习利用大量的标注数据来训练模型,模型的预测和数据的真实标签产生损失后进行反向传播(计算梯度…

    2022年5月18日
    40
  • 关于dos启动的一些知识

    关于dos启动的一些知识       最近装一个linux版本,就要用到dos,找来找去,忙乎了半天,又是缺文件,又是改配置。发现,一直用dos,但是还没有好好研究它。要研究dos,得从它的启动信息开始。。。。   一、DOS启动过程:开机->IO.SYS->MSDOS.SYS->CONFIG.SYS->COMMAND.COM->AUTOEXEC.BAT一般来说需要修改的是MSDOS.SYS、C

    2022年7月26日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号