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

网站备案去哪备案珠海网站设计

网站备案去哪备案,珠海网站设计,百度关键词多少钱一个月,西安旅游攻略2日游题目描述 思路分析 本题有两问,第一问直接用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.shuangfujiaoyu.com/news/48657.html

相关文章:

  • 专业做旗袍花的网站是什么网站打广告
  • 中兴建设云南有限公司网站最大的推广平台
  • 做网站定制开发的公司哪家好软文写作方法
  • 网站建设有哪些内容专业营销团队公司
  • 做个网站需要哪些东西优化网站建设seo
  • 做设计找参考的设计网站有哪些seo查询官方网站
  • 卓辉科技 网站建设系统优化助手
  • 祥网站建设网上兼职外宣推广怎么做
  • 广州网站优化排名哪家好如何开发自己的小程序
  • 简单网站制作代码制作一个简单的网站
  • 一级a做爰精免费网站网站的seo如何优化
  • 石狮制作网站网站营销
  • 网站信息架构网络营销概念是什么
  • 网站域名登百度关键词分析
  • 班级网站怎样做成都最好的seo外包
  • WordPress引用阿里云矢量图优化seo设置
  • 精准网站seo诊断报告成品人和精品人的区别在哪
  • 焦作维科网站建设公司上海百度seo公司
  • 网站如何配置域名云南疫情最新情况
  • 临沂网站建设服务商十大网络营销经典案例
  • 高端网站建设公司优化手机性能的软件
  • 如何给企业做网站推广西安网络推广公司网络推广
  • 自己做海报的网站itmc平台seo优化关键词个数
  • 电商网站建设技术员的工作职责seo外链论坛
  • 广州企业网站建设公司哪家好关键词在线采集
  • 河源哪有做网站店铺100个关键词
  • 万州房产网站建设网络营销的公司有哪些
  • 大型网站开发实战精准广告投放
  • 程序外包网seo查询seo
  • 建设银行短信带网站十大成功营销策划案例