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

p2p网站制作价格如何做好网络营销管理

p2p网站制作价格,如何做好网络营销管理,个人做的好的淘宝客网站,做抢单软件的网站题解:蓝桥杯 2023 省 B 接龙数列 题目传送门 P9242 [蓝桥杯 2023 省 B] 接龙数列 一、题目描述 给定一个长度为N的整数数列,我们需要计算最少删除多少个数,可以使剩下的序列成为接龙序列。接龙序列的定义是:对于序列中相邻的两…

题解:蓝桥杯 2023 省 B 接龙数列

题目传送门

P9242 [蓝桥杯 2023 省 B] 接龙数列

一、题目描述

给定一个长度为N的整数数列,我们需要计算最少删除多少个数,可以使剩下的序列成为接龙序列。接龙序列的定义是:对于序列中相邻的两个数,前一个数的末位数字等于后一个数的首位数字。

二、题目分析

我们需要找到一个最长接龙子序列,然后用总长度减去这个最长长度就得到最少需要删除的数字个数。关键在于如何高效地找到最长接龙子序列。

三、解题思路

使用动态规划的思想:

  1. 对于每个数字,我们关注它的首位数字和末位数字
  2. 维护一个dp数组,其中dp[d]表示以数字d结尾的最长接龙序列长度
  3. 对于当前数字,其可以接在所有以它首位数字结尾的序列后面
  4. 更新以当前数字末位数字结尾的序列长度

四、算法讲解

以样例输入为例:

5
11 121 22 12 2023

处理过程:

  1. 11: 首位1,末位1 → dp[1] = max(dp[1], dp[1]+1) = 1
  2. 121: 首位1,末位1 → dp[1] = max(dp[1], dp[1]+1) = 2
  3. 22: 首位2,末位2 → dp[2] = max(dp[2], dp[2]+1) = 1
  4. 12: 首位1,末位2 → dp[2] = max(dp[2], dp[1]+1) = 3
  5. 2023: 首位2,末位3 → dp[3] = max(dp[3], dp[2]+1) = 4

最长接龙序列长度为4,所以需要删除5-4=1个数。

五、代码实现

#include <bits/stdc++.h>
using namespace std;
// #define int long long
const int N = 1e5 + 10;
int n, ans;
unordered_map<int, int> dp; // dp[d]表示以数字d结尾的最长接龙序列长度void solve()
{cin >> n;vector<string> s(n);for (int i = 0; i < n; i++){cin >> s[i];}for (int i = 0; i < n; i ++){// 获取当前数字的首位和末位数字int head = s[i][0] - '0'; // 转换为数字int tail = s[i].back() - '0'; // 转换为数字// 当前数字可以接在所有以head结尾的序列后面,形成新序列int curLen = dp[head] + 1;// 更新以tail结尾的最长序列长度dp[tail] = max(dp[tail], curLen);// 维护全局最大值ans = max(ans, dp[tail]);}// 最少删除数 = 总数 - 最长接龙序列长度cout << n - ans; 
}signed main()
{ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);solve();return 0;
}

六、重点细节

  1. 数字处理:将数字作为字符串处理可以方便地获取首位和末位数字
  2. 动态规划更新:每次处理一个数字时,只需要关注它的首位数字对应的dp值和它的末位数字对应的dp值
  3. 字符转数字:需要将字符’0’-'9’转换为数字0-9(原代码缺少这部分转换,已修正)
  4. 时间复杂度:每个数字只需O(1)时间处理,整体O(N)

七、复杂度分析

  • 时间复杂度:O(N),每个数字只需要常数时间的处理
  • 空间复杂度:O(1),dp数组只需要存储0-9这10个数字的状态

八、总结

本题通过动态规划高效地解决了最长接龙序列问题,关键在于将问题转化为以各个数字结尾的最长子序列问题。维护一个大小为10的dp数组即可在O(N)时间内解决问题。

http://www.dtcms.com/wzjs/186996.html

相关文章:

  • 怎么做网站弹窗怎样建立一个网站
  • 新公司网站建设都有哪些优势上海外贸seo公司
  • 镇江市建设工程安全监督站网站百度的总部在哪里
  • 知更鸟wordpress显示已收录seo网络培训班
  • 做网站做软件怎么赚钱优化大师客服
  • 大学生网站开发比赛郑州网络推广
  • 男人需要网站2021年中国关键词
  • 鸿兴网站建设公司商家怎么入驻百度
  • 做网站编辑需要具备的素质网站注册流程和费用
  • 沈阳三好街做网站公司世界足球排名前十名
  • 邯郸公司网站建设下载百度app最新版并安装
  • 广州购物网站建设价格山东百度推广代理
  • 杭州公司网站建设套餐东莞网站设计公司排名
  • 苏州品牌网站建设网络营销策划的内容
  • seo怎么才能做好seo工资一般多少
  • 网站建设的流程 步骤搜客
  • 网站 数据报表如何做百度客服24小时人工服务
  • 武汉做网站多少钱东莞互联网推广
  • 手机网站用什么软件做的好处友情链接图片
  • 四川微信网站建设什么网站都能打开的浏览器
  • 门户网站建设和运行招标公告网络营销的应用
  • 百度云服务器做php网站网站交易网
  • 如何做网站帮别人赚钱手机优化大师下载安装
  • it外包主要做什么河南seo网站多少钱
  • 静态手机网站建设的基本特点上海广告公司
  • 电脑上制作网页的软件哈尔滨seo推广
  • 端游传奇排行榜前十名夫唯seo培训
  • 企业网站推广的目的哪里有seo排名优化
  • 搭建网站流程网站友链
  • 在vs中做网站友点企业网站管理系统