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

网站备案去哪备案seo整站网站推广优化排名

网站备案去哪备案,seo整站网站推广优化排名,建设项目所在地公共媒体网站,做网站开发要多久题目描述 思路分析 本题有两问,第一问直接用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.mmbaike.com/news/65869.html

相关文章:

  • 千锋前端培训多少钱seo的方式包括
  • 西安网站开发多少钱吉林seo管理平台
  • 茂名网站建设方案外包软文推广系统
  • 高级工程师seo优化排名推广
  • 做网站怎么去工信部缴费优化技术基础
  • 电子商务与网站建设论文建站 seo课程
  • 帮别人做网站赚钱怎么做推广
  • 海淀手机网站建设专业搜索引擎seo服务
  • 电商网站建设行情万能引流软件
  • 网站设计页面如何做居中bt磁力天堂torrentkitty
  • 武汉做网站排名南京seo排名优化
  • 南昌网站建设web8848口碑营销的定义
  • 网站制作东莞地推推广方案
  • 杭州杭州网站建设关键词指数查询工具
  • 做网站宣传费用记什么科目网络推广外包一年多少钱
  • 网站开发文档竞价排名的优缺点
  • 仿网站出售北京网络推广
  • 无锡做网站好百度产品推广
  • 领手工在家做的网站西安seo代运营
  • 培训中心网站建设方案图片优化软件
  • 深一集团的网站谁做的商业软文怎么写
  • 做竞彩网站代理犯法么今日头条淄博新闻
  • 九江市住房和城乡建设厅网站上海今天发生的重大新闻
  • 烟台论坛江阴网站优化公司
  • 网页设计教程花之语南阳网站seo
  • 空间设计网站公司seo排名哪家正规
  • 无锡网站建设首选捷搜培训班管理系统 免费
  • 医疗电子的网站建设新手怎么做电商运营
  • 做百度网站要注意什么网址浏览大全
  • 沧州模板建站平台宁波seo推广