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

游戏网站建设的目的做噯噯的网站

游戏网站建设的目的,做噯噯的网站,铁汉生态建设有限公司网站,秦皇岛市做公司网站的需求分析 题目要求最少删掉多少个数后,使得数列变为接龙数列。 相当于题目要求求出数组中的最长接龙子序列。 题目分析 对于一个数能不能放到接龙数列中,只关系到这个数的第一位和最后一位,所以我们可以先对数组进行预处理,将…

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

需求分析

题目要求最少删掉多少个数后,使得数列变为接龙数列。

相当于题目要求求出数组中的最长接龙子序列。

题目分析

对于一个数能不能放到接龙数列中,只关系到这个数的第一位和最后一位,所以我们可以先对数组进行预处理,将所有的数变为两位数,例如 12345 → 15 12345 \rightarrow 15 1234515 6 → 66 6 \rightarrow 66 666 … \dots ,这样当我们需要取出一个数 x x x 的第一位时,只需要计算 x / 10 x / 10 x/10,取出最后一位时,只需要计算 x % 10 x \% 10 x%10

那么接下来考虑如何求接龙序列的最大值。

考虑动态规划, f ( i , j ) f(i, j) f(i,j) 表示在前 i i i 个数中,以 j j j 结尾的最大长度。

考虑状态转移,设第 i i i 个数为 a b ab ab

  • 若不选第 i i i 个数,则有 f ( i , j ) = f ( i − 1 , j ) f(i, j) = f(i - 1, j) f(i,j)=f(i1,j) 0 ≤ j ≤ 9 0 \leq j \leq 9 0j9)。
  • 若选第 i i i 个数,则 f ( i , b ) = max ⁡ ( f ( i − 1 , b ) , f ( i − 1 , a ) + 1 ) f(i, b) = \max(f(i - 1, b), f(i - 1, a) + 1) f(i,b)=max(f(i1,b),f(i1,a)+1)

那么接龙数列的最大长度为 max ⁡ ( { f ( n , i ) \max(\{f(n, i) max({f(n,i) 0 ≤ i ≤ 9 0 \leq i \leq 9 0i9 } ) \}) })

观察状态转移发现, f ( i , j ) f(i, j) f(i,j) 仅由 f ( i − 1 , x ) f(i - 1, x) f(i1,x) 计算得出,故可以使用滚动数组进行优化。

时间复杂度 O ( n ) O(n) O(n)

  • C++
#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;const int N = 1e5 + 10;int n;
int q[N];
int f[N][10];int main()
{cin >> n;for (int i = 1; i <= n; ++ i ){int x;cin >> x;int y = x % 10;while (x >= 10)x /= 10;q[i] = x * 10 + y;}for (int i = 1; i <= n; ++ i ){for (int j = 0; j < 10; ++ j )f[i][j] = f[i - 1][j];int a = q[i] / 10, b = q[i] % 10;f[i][b] = max(f[i][b], f[i - 1][a] + 1);}int res = 0;for (int i = 0; i < 10; ++ i )res = max(res, f[n][i]);cout << n - res << endl;return 0;
}
  • C++(空间优化)
#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;const int N = 1e5 + 10;int n;
int q[N];
int f[N];int main()
{cin >> n;for (int i = 0; i < n; ++ i ){int x;cin >> x;int y = x % 10;while (x >= 10)x /= 10;q[i] = x * 10 + y;}for (int i = 0; i < n; ++ i ){int a = q[i] / 10, b = q[i] % 10;f[b] = max(f[b], f[a] + 1);}cout << n - *max_element(f, f + 10) << endl;return 0;
}

【在线测评】

在这里插入图片描述

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

相关文章:

  • 注册域名后怎么做网站媒体资源网官网
  • 外发加工单表格范本网站优化需要做什么
  • 新公司刚成立做网站家居网站关键词怎么做
  • 怎么做提卡密网站万游泉州市城乡和建设网站
  • ps企业站网站做多大丽水微信网站建设公司
  • 订阅号做影视网站开发公司不建二次加压泵房
  • 怎么创造免费网站深圳网站建设创造者
  • 佛山网站定制开发云工厂网站建设
  • 模板王网站智能网站搭建平台
  • 网站建设出初级者选哪家河南省工程项目信息公示栏
  • 绵阳网站建设培训热血传奇网页游戏
  • 网站运营是具体的网络销售怎么推广
  • 网站建设公司品牌医疗网站源码
  • html5网站模板免费搜索引擎网络推广公司上海
  • 旅游网站建设模版建筑最吃香的专业
  • 广州做网站 信科便宜厦门网站搜索优化
  • 网站推广工作职责青岛网站建设新元创想
  • 有什么网站可以做深圳初二的试卷练习微信广告朋友圈投放
  • 网站排行Wordpress页面有横线
  • 网站建设课的感想安康公司网站制作
  • 成都 企业网站建设做商城网站会不会被攻击
  • 网站建设找哪个策划一个网站
  • 上海企业网站设计公司电话字体设计教程网站
  • 聊城专业网站建设公司大连建设工程信息网水电
  • wordpress网站布局锐捷网络公司怎么样
  • 高端网站建设万维科技在线长链接转短链接
  • unity网站后台怎么做360优化大师旧版
  • 画册排版设计网站做网站mfdos
  • 河南第二建设集团网站视频网站开发介绍费
  • 外贸长尾关键词挖掘网站个人注册公司需要什么