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

代理怎么做百度快照优化推广

代理怎么做,百度快照优化推广,汶上网站建设,中国建设银行网站软件这道题说要求最少删多少个使剩下的序列是接龙序列,这个问题可以转换为序列中最长的接龙序列是多少,然后用总长度减去最长接龙序列的长度就可以了,在第一个暴力版本的代码中我用了两个for循环求出了所有的接龙序列的长度,但是会超时…

这道题说要求最少删多少个使剩下的序列是接龙序列,这个问题可以转换为序列中最长的接龙序列是多少,然后用总长度减去最长接龙序列的长度就可以了,在第一个暴力版本的代码中我用了两个for循环求出了所有的接龙序列的长度,但是会超时,这道题可以用动态规划思想,动态规划思路是将问题转换为求序列中最长接龙序列长度,用序列总长度减去该长度得到最少删除数字个数;使用 map<char, int> mapp 记录以每个数字最后一个字符结尾的最长接龙序列长度,遍历序列中每个数字 

  • 对于每个数字 s[j],考虑其是否能接入到以 s[j] 的第一个字符结尾的接龙序列中。状态转移方程为 mapp[s[j][k - 1]] = max(mapp[s[j][k - 1]], mapp[s[j][0]] + 1)
  • max(mapp[s[j][k - 1]], mapp[s[j][0]] + 1) 的含义是:如果选择把 s[j] 接入到以 s[j] 的第一个字符结尾的接龙序列中,那么以 s[j] 的最后一个字符结尾的最长接龙序列长度就是以 s[j] 的第一个字符结尾的最长接龙序列长度加 1;若不选择接入,mapp[s[j][k - 1]] 的值保持不变,即维持其原本记录的最长接龙序列长度。

遍历完后找出 mapp 中最大值即最长接龙序列长度。


 

对于一个长度为 K 的整数数列:A1​,A2​,…,AK​,我们称之为接龙数列当且仅当 Ai​ 的首位数字恰好等于 Ai−1​ 的末位数字(2≤i≤K)。

例如 12,23,35,56,61,11 是接龙数列;12,23,34,56 不是接龙数列,因为 56 的首位数字不等于 34 的末位数字。所有长度为 1 的整数数列都是接龙数列。

现在给定一个长度为 N 的数列 A1​,A2​,…,AN​,请你计算最少从中删除多少 个数,可以使剩下的序列是接龙序列?

输入格式

第一行包含一个整数 N。

第二行包含 N 个整数 A1​,A2​,…,AN​。

输出格式

一个整数代表答案。

输入输出样例

输入 #1复制

5
11 121 22 12 2023

输出 #1复制

1

说明/提示

【样例说明】

删除 22,剩余 11,121,12,2023 是接龙数列。

【评测用例规模与约定】

对于 20% 的数据,1≤N≤20。

对于 50% 的数据,1≤N≤104。

对于 100% 的数据,1≤N≤105,1≤Ai​≤109。所有 Ai​ 保证不包含前导 0。

蓝桥杯 2023 省赛 B 组 E 题。

暴力版代码,会超时只能过三个样例

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;
map<string,int>mapp;
string s[N];
signed main()
{int n;cin>>n;if(n==1){cout<<0;exit(0);}for(int i=1;i<=n;i++){cin>>s[i];mapp[s[i]]=1;}int sum=-1;for(int i=1;i<n;i++){for(int j=i+1;j<=n;j++){int k=s[i].size();// cout<<s[i]<<" "<<s[j]<<" "<<s[i][k-1]<<" "<<s[j][0]<<endl; if(s[i][k-1]==s[j][0]){mapp[s[j]]=max(mapp[s[j]],mapp[s[i]]+1);sum=max(sum,mapp[s[j]]);}}}cout<<n-sum;// 请在此输入您的代码return 0;
}


AC代码

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;
map<char,int>mapp;
string s[N];
signed main()
{int n;cin>>n;if(n==1){cout<<0;exit(0);}for(int i=1;i<=n;i++){cin>>s[i];int k=s[i].size();mapp[s[i][k-1]]=0;}int sum=-1;for(int j=1;j<=n;j++){int k=s[j].size();mapp[s[j][k-1]]=max(mapp[s[j][k-1]],mapp[s[j][0]]+1);sum=max(sum,mapp[s[j][k-1]]);// cout<<sum<<" ";}cout<<n-sum;// 请在此输入您的代码return 0;
}

http://www.dtcms.com/a/396784.html

相关文章:

  • 网站更换内容126企业邮箱注册申请
  • 模板建站影响网站的优化排名哪些网站可以免费做产品推广
  • 哪个公司做网站好注册一个500万的公司需要多少钱
  • MATLAB7-数值微积分-台大郭彦甫
  • wordpress查看自己网站的ip量做公司 网站建设价格低
  • 做普通网站价格室内设计公司平面图
  • 做网站等保收费wordpress加导航菜单
  • 宁夏网站建站wordpress图片延时加载
  • 四川建设数字证书网站网站建设微信公众号小程序app
  • 付网站建设服务费记账重庆公司注册服务
  • 网站建设必备重庆市建筑工程造价信息网
  • 360网站卖东西怎么做的建筑公司起名字寓意好的字
  • 域名申请而完成以后怎么做网站庆阳网站设计公司
  • 大连市营商环境建设局门户网站wordpress图像描述
  • 网站建设工作稳定吗龙岗网站建设 公司推广
  • 制作网站规划书卖东西的网站有哪些
  • 网站分析 工具温州网站设计网站建设网站
  • 网站开发思维导图电脑 手机 微信网站开发
  • 5g建设多少网站ih5平台发展前景
  • 重庆潼南网站建设报价织梦网站怎么修改内容
  • 网站做视频窗口接口收费么网站源代码怎么上传
  • 网站网络推广dw网页设计源代码
  • wordpress 用户中心插件赣州网站优化制作
  • 网站框架都有什么用登录入口注册
  • 自己做的网站怎么发布新媒体营销和网络营销
  • 公司网站建设要多少钱免费网站收录网站推广
  • 网站推广优化张店wordpress 简历插件
  • 网站设计师 网站开发工程师可以在线编程的网站
  • 企业网站规划财经直播的网站开发一个多少钱
  • 沈阳网站制作定制厂家怎样查询百度收录和排名情况