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

网站备案去哪备案培训网络营销机构

网站备案去哪备案,培训网络营销机构,深圳网站建设公司收费,wordpress首页文章分类展示题目描述 思路分析 本题有两问,第一问直接用lis的模板即可,下面重点看第二问 思路是贪心: 贪心流程: 从前往后扫描每一个数,对于每个数: 情况一:如果现有的子序列的结尾都小于当前的数&…

题目描述

 思路分析

本题有两问,第一问直接用lis的模板即可,下面重点看第二问

思路是贪心:

贪心流程:

从前往后扫描每一个数,对于每个数:

情况一:如果现有的子序列的结尾都小于当前的数,则创建子序列

情况二:将当前的数放到结尾大于等于它的最小的子序列后面

举个例子:

360 322 555 222.....

从左到右遍历上面序列,当遍历到222的时候,此时已经存在了两个子序列“360 322”和“555”,两个子序列的结尾分别是322和555,其中322是大于等于222且是“322和555”中最小的数,所以把222放在序列“360 322”的后边!

贪心证明:

A表示贪心算法得到的序列个数,B表示最优解

B<=A   显然

如何证明B>=A?利用调整法:

如上图所示,假设a的后面是利用贪心算法插入的一个数,b的后面是最优解插入的一个数

在这两个序列后面补齐之后:

因为a是最优解的插法,所以b>=a

可以把x及后面的序列做交换,导致最优解变成了贪心解,并且总序列个数不变,所以B>=A

完整代码:

#include<iostream>
#include<string>
#include<sstream>
using namespace std;
const int N=1010;
int f[N],h[N],q[N];
int cnt,res;
int n;
int main()
{string str;getline(cin,str);stringstream ssin(str);while(ssin>>q[n])n++;for(int i=0;i<n;i++){f[i]=1;for(int j=0;j<i;j++)if(q[j]>=q[i])f[i]=max(f[j]+1,f[i]);res=max(res,f[i]);int k=0;while(k<cnt&&h[k]<q[i])k++;if(k<cnt)h[k]=q[i];elseh[cnt++]=q[i];}cout<<res<<endl<<cnt<<endl;return 0;
}

http://www.hengruixuexiao.com/news/53157.html

相关文章:

  • 无锡2019网站建设报价清单短视频精准获客
  • 网站建设开发文档在线seo优化
  • 电商网站开发长春网站优化平台
  • 服装箱包网站建设刷粉网站推广
  • ps做网站边框免费行情软件网站下载
  • 怎样做seo网站链接企业网站建设费用
  • 青岛圭谷网站建设公司怎么样慈溪seo排名
  • 软件介绍下载网站建设长沙疫情最新消息今天封城了
  • 兴平网站开发厦门seo总部电话
  • 广州微信网站建设价格超级seo助手
  • 网站建设服务器端软件网站seo关键词排名查询
  • 河南网站公司河南关键词排名顾问
  • 新闻联播俄罗斯与乌克兰西安网站seo
  • 网站开发 模块化售卖链接
  • 网站在百度的图标显示不正常上海专业seo
  • 谁有做那事的网站seo技术助理
  • 橙子建站怎么使用搜索引擎营销特点
  • 网站建设蓝色工匠seo优化系统
  • 惠州网站制作培训友情链接的概念
  • 网站设计 论坛百度搜索风云榜明星
  • 移动互联网站开发与软件开发seo系统培训课程
  • 网站滚动框怎么做学seo推广
  • 电子商务的分类站长工具seo综合查询5g
  • 做独立网站需要软件网络营销运营策划
  • 深圳网站开发培训李守洪
  • 白云区网站建设公司百度刷首页怎么刷
  • 国外b2b网站排名html期末大作业个人网站制作
  • 张家港建网站价格百度小说排行榜2020前十名
  • 做内贸的什么网站效果好软文
  • 网站建设刂搜金手指下拉二五网站销售怎么推广