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

百度推广官网网站网站推广费用一般多少钱

百度推广官网网站,网站推广费用一般多少钱,怎么做阿里巴巴英文网站,1m宽带做网站一、题目: 二、题解一:朴素动态规划 O ( n 2 ) O(n^2) O(n2) 50 50 50%样例 1、解题思路 1)通过观察题目我们发现:题目意思为从序列中最少删除多少数,可以使得接下来的序列是接龙序列 2)因此我们可以将其转化为求最…

一、题目:

在这里插入图片描述

二、题解一:朴素动态规划 O ( n 2 ) O(n^2) O(n2) 50 50 50%样例

1、解题思路

1)通过观察题目我们发现:题目意思为从序列中最少删除多少数,可以使得接下来的序列是接龙序列

2)因此我们可以将其转化为求最长的接龙子序列的长度 x x x,用 ( n − x ) (n-x) (nx)即是答案

3)接着题目就变成了典型的 D P DP DP问题:求解最长接龙子序列

2、动态规划做题步骤

1)重述问题:

  • 找一个最长的接龙子序列

2)找到最后一步:

  • 选择了某个数 a [ x ] a[x] a[x],作为接龙序列的最后一位

3)去掉最后一步骤,原问题变成了什么?(如果可以就尝试用去掉最后一步的状态推导->最后一步

  • ( 1 − > x − 1 ) (1->x-1) (1>x1)中,找最长的接龙子序列

原问题的答案=(1~x-1)中,找最长的接龙子序列的长度+1(且最后一位需要满足条件)

4)考虑边界

3、关键代码解析

int col(int x)  //取出其第一位
{int temp=0;while(x){temp=x%10;x/=10;}return temp;
}//遍历找最后一位for(int i=1;i<=n;i++){int last=col(a[i]); //拿出其第一位dp[i]=1;  //默认长度为1for(int j=1;j<=i-1;j++) //从1~x-1中找倒数第二位{if(a[j]%10==last) dp[i]=max(dp[i],dp[j]+1);	//判断是否由倒数第二位推出}}int res=-1;for(int i=1;i<=n;i++) res=max(res,dp[i]);cout<<n-res<<'\n';

三、题解二:DP优化 O ( n ) O(n) O(n)

通过观察我们发现:最长接龙子序列的最后一位仅仅是(1~10),且它具有后效性
因此我们可以考虑简化dp数组

1、解题思路

1)我们可以令dp[d]为以d为结尾的最长接龙子序列的长度

  • 比如dp[1]表示以1为结尾的最长接龙子序列的长度

2)现在我们枚举到了a[i]这个数,它的最高位是x,最后一位是y

在这里插入图片描述

3)此时我们发现,这个值有且只有两种情况

  • 找到一个以x为结尾的一个序列,将其接上去,这样原本结尾是x的序列,就变成了结尾是y的序列(此时dp[y]=dp[x]+1)
  • 或者不接上去,那么dp[y]的值也不会受其影响(也就意味着此时有以y为结尾的已经更优了)(此时dp[y]不变)

4)因此状态转移方程应该为: d y [ y ] = m a x ( d p [ y ] , d p [ x ] + 1 ) dy[y]=max(dp[y],dp[x]+1) dy[y]=max(dp[y],dp[x]+1)

2、关键代码解析:

  • 1# 获取一个数字的最高位与最低位数
  • 2#选择接入以first为结尾,使得以end为结尾 + 1 +1 +1
  • 3# 不接入,以end为结尾的已经优于以fir为结尾的
 //遍历找最后一位for(ll i=1;i<=n;i++){ll first=col_fir(a[i]); //拿出其第一位和最后一位ll end=a[i]%10;//选择接入以first为结尾,使得以end为结尾+1 ///不接入,以end为结尾的已经优于以fir为结尾的dp[end]=max(dp[end],dp[first]+1); }ll res=-1;for(ll i=1;i<=9;i++) res=max(res,dp[i]);cout<<n-res<<'\n';

3、完整代码解析:

#include <bits/stdc++.h>
using namespace std;typedef long long ll;
const int N=2e5+7;
ll a[N];
ll dp[17];//表示以i为结尾在最长序列ll col_fir(ll x)  //取出其第一位
{ll temp=0;while(x){temp=x%10;x/=10;}return temp;
}void solve()
{ll n;cin>>n;for(ll i=1;i<=n;i++) cin>>a[i];//通过//题目意思为从序列中最少删除多少数,可以使得接下来的序列是接龙序列//因此我们可以将其转化为求最长的接龙子序列的长度x,(n-x)即是答案//遍历找最后一位for(ll i=1;i<=n;i++){ll first=col_fir(a[i]); //拿出其第一位和最后一位ll end=a[i]%10;//选择接入以first为结尾,使得以end为结尾+1 ///不接入,以end为结尾的已经优于以fir为结尾的dp[end]=max(dp[end],dp[first]+1); }ll res=-1;for(ll i=1;i<=9;i++) res=max(res,dp[i]);cout<<n-res<<'\n';
}  int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int _=1;while(_--) solve();return 0;
}
http://www.dtcms.com/wzjs/77509.html

相关文章:

  • 网页制作与网站建设教程百度账号购买1元40个
  • 建设通网站查询单位百度投诉中心在线申诉
  • 哪个网站可做密丸网推平台有哪些比较好
  • 哪里可以免费做网站软文推广有哪些平台
  • 网店设计英文宁阳网站seo推广
  • 财经直播网站建设整合营销的案例
  • 三七批发可做网站名吗雅虎日本新闻
  • 长沙公司网络推广西安seo优化系统
  • cnu摄影网站中国营销传播网官网
  • wordpress注册登录小工具外贸网站谷歌seo
  • 网站建设做哪个科目企业做网上推广
  • 房地产建设网站的意义网上在哪里打广告最有效
  • 建立免费公司网站网站优化师
  • 北京最新进出京政策网站关键词快速排名优化
  • 搭建公司内部网站微信群拉人的营销方法
  • 企业做微网站视频营销的策略与方法
  • linux做网站企业产品推广策划方案
  • 设计师网站pin全国疫情高中低风险区一览表
  • 自动优化网站建设咨询app平台搭建
  • 贵州手机网站建设一元手游平台app
  • 南昌网站建设行业现状济南做seo排名
  • 网站设计公司无锡厦门seo计费
  • 受欢迎的昆明网站推广武汉整站优化
  • 网站模版超市搜索引擎优化的英文缩写
  • 《网站开发技术》模板补习班
  • 专业网站建设哪家权威百度移动seo首选帝搜软件
  • 化工网站建设推广长治网站seo
  • 网站色彩学班级优化大师
  • 用ps做网站还是wd郑州网站优化哪家好
  • 街道口做网站百度快照收录入口