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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea 激活 betterintelliJ破解方法[通俗易懂]

    idea 激活 betterintelliJ破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    331
  • webgame开发入门[通俗易懂]

    webgame开发入门[通俗易懂]一、简单的程序框架。webgame程序构成:三大部分。第一是数据流程。第二是程序。第三是美术。其中,数据流程包括了功能。也只有在功能中才能体现数据流程。数据流程相当的麻烦,后面再讨论。比如最简单的卖买产品。要实现这个功能。那么需要有产品基础表、产品详细表、商店表、背包表。如果扩展性更强,相应的双表是少不不了的。表的问题都简单了。关键是这个物品有什么用。这样物品的来源,一大堆数据,物品的走向,又是一…

    2022年6月7日
    35
  • object中提供的clone默认为浅克隆_接口的定义形式

    object中提供的clone默认为浅克隆_接口的定义形式cloneable接口的作用cloneable其实就是一个标记接口,只有实现这个接口后,然后在类中重写Object中的clone方法,然后通过类调用clone方法才能克隆成功,如果不实现这个接口,则会抛出CloneNotSupportedException(克隆不被支持)异常。Object中clone方法:这里有一个疑问,Object中的clone方法是一个空的方法,那么他是如何判断类…

    2022年10月15日
    0
  • Linux Vim编辑器的基本使用

    Linux Vim编辑器的基本使用vi、vim编辑器:如何安装vim编辑器?vim编辑器的四种模式及其关系是什么?vim编辑器如何使用?vim如何进行复制、粘贴、剪切、恢复、撤销、删除等操作?vim四种模式如何切换?vim怎么添加多行注释?代码着色、异常退出如何解决、vim各模式的作用是什么…

    2022年7月26日
    5
  • django vue部署_如何远程连接

    django vue部署_如何远程连接Django+Vue实现WebSocket连接

    2022年4月22日
    36
  • traceroute命令讲解

    traceroute命令讲解  通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute,在MS Windows中为tracert。 traceroute通过发送小的数据包到目的设备直到其…

    2022年6月15日
    36

发表回复

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

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