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

淄博网站制作价格低/百度地图下载2022新版安装

淄博网站制作价格低,百度地图下载2022新版安装,logo字体设计在线生成,网站建设基础学习题目描述 给定一个1*n的地图,在里面玩2048,每次可以合并相邻两个(数值范围1-262,144),问最大能合出多少。注意合并后的数值并非加倍而是1,例如2与2合并后的数值为3.   这道题的思路: 这是上一…

题目描述

  给定一个1*n的地图,在里面玩2048,每次可以合并相邻两个(数值范围1-262,144),问最大能合出多少。注意合并后的数值并非加倍而是+1,例如2与2合并后的数值为3.  

  这道题的思路:

  这是上一道题的数据强化版,数据达到了 260000.

  所以只能 O(nlogn) 的时间复杂度过.

  然后就发现根本就已经不是一道题目了,方程和处理方式完全不一样.

    非动规版本 

  非动规版本是动用了一个数据结构---栈. 比较巧妙.

  因为这道题有带一点贪心的思想在里面,因为所有的元素就只有那些,所以无论怎么合并,都会把能合并都合并都合并完.

  关于顺序的话,正着来一遍,再到着来一遍即可.在栈中选取最大值.

       代码

 

#include<bits/stdc++.h>
using namespace std;
int n,d[263000],kkp[263000],num,ans;
void insert(int x)
{kkp[++num]=x;while(kkp[num]==kkp[num-1])                  num--,kkp[num]=kkp[num+1]+1;//一旦一个元素进入栈中 //那么就将它和它相邻的一直合并到一个都不剩.
}
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&d[i]);for(int i=1;i<=n;i++)insert(d[i]);for(int i=1;i<=num;i++)ans=max(kkp[i],ans);num=0;for(int i=n;i>=1;i--)insert(d[i]);                                 //倒序再来一遍.for(int i=1;i<=num;i++)ans=max(kkp[i],ans);cout<<ans;return 0;
}

 

动规版本暂时还没研究... 日后再填.

转载于:https://www.cnblogs.com/Kv-Stalin/p/8869346.html

http://www.jmfq.cn/news/5128885.html

相关文章:

  • iis网站伪静态/网络广告营销有哪些
  • 一个公司的网址是怎么样的/seo诊断网站
  • 工程在哪个网站做推广比较合适/腾讯广告投放推广平台
  • 英文网站 字体大小/站长工具亚洲
  • 深圳app网站建设哪家好/智能搜索引擎
  • dw怎么做网站布局/微博营销案例
  • 东方市住房和城乡建设局网站/网站建设选亿企网络
  • 个人写真集/沧州网站seo公司
  • 多种昆明网站建设/免费推广网址
  • 做网站需要什么配置的笔记本/什么是网站推广策略
  • 营销型网站建设 合肥/市场营销计划方案
  • 正规网站建设商家/西安关键词优化服务
  • 做正品的网站/网站推广包括
  • 如何在电脑上建设网站/痘痘该如何去除效果好
  • 皮皮果网站建设/免费注册推广网站
  • html酒店网站模板/武汉服装seo整站优化方案
  • 网站建设多少预算/快速排名软件seo系统
  • 教人做辐射4mod的网站/怎么用网络推广业务
  • 有无专门做网站会员人数迅速增加的方法/网站检测工具
  • 遂溪 网站/唯尚广告联盟平台
  • 网页设计建网站/百度网站官网
  • IIS自己做的网站 无法访问数据库/郑州关键词优化平台
  • wordpress 插件原理/seo云优化
  • 政府网站栏目/最新国际新闻头条新闻
  • 找人做短视频网站/廊坊seo网络推广
  • 做网站的怎样找客户/网站搜索引擎优化主要方法
  • 网站建设 问卷调查/企业网站开发
  • 中小学生做试卷的网站6/推广产品怎么发朋友圈
  • 网站截图可以做证据吗/互联网推广软件
  • 淘宝网站建设属于什么类目/腾讯效果推广