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

wordpress横线/合肥网站优化软件

wordpress横线,合肥网站优化软件,零陵做网站,一般在什么网站上做电子请帖题面 给一个长度10^5的非负序列&#xff0c;序列中的0可以任意换成任何数字&#xff08;包括负数&#xff09;&#xff0c;问最长严格上升子序列长度。 样例输入 7 2 0 2 1 2 0 5 样例输出 5 提示 30% n<5000 100% n<1e5 ai<1e6 分析 其实是很明显的dp最长上升子序列的…

题面

给一个长度10^5的非负序列,序列中的0可以任意换成任何数字(包括负数),问最长严格上升子序列长度。

样例输入
7
2 0 2 1 2 0 5
样例输出
5
提示

30% n<=5000 100% n<=1e5 ai<=1e6

 

分析

其实是很明显的dp最长上升子序列的变式。观察到1e5的数据规模肯定不能用朴实的O(n^2)的算法了。需要改变一下,d[i]存1~i中的最长子序列的结尾的最小末数字。比如有这样一组序列 1 4 2 3 7,搜到4位置的时候最长是2,搜到2的时候最长也是2,但是d[2]就要从4更新为2了,因为4卡住了比4小的,2在能构成同样长的上升子序列的情况下,能够让后面更多的数加入这个序列,比如2后面的3可以进入序列,然而4就把3卡掉了,所以这样记录一定最优。此时d[3]=3;再二分查找插入每个数。解决了时间复杂度后,就是0的问题了。其实0也很好解决,只需要看0是否是有用的。比如1 0 2 中的0是无帮助的,1 0 3中的0变为2后就有帮助了。意思是看0后面的数与前面的数相差的值是否能构成上升趋势即可,那不如把每个0后面的所有数-1,并把0去掉再存入。相对于提前把每个0能贡献的都贡献了。样例就变为了 2 1 0 1 3.【不好理解可以再多列几组试着感知一下,最后答案要加上0的个数。

然而还有一个容易忽略的问题,就是前导0.

如果按照上述思想实现可得90分,还有10分应该就是这样卡掉了。比如输入 

0 0 0 0 0 0 0 0 

输出会是9,显然不对。

按lzy大佬传授的方法,只需要在序列前面加-INF 末尾加INF再将答案-2即可。因为负无穷和正无穷始终会被算入你的最长上升子序列中

好妙啊orz,这样就避免了前导0的情况

 

代码

#include<bits/stdc++.h>
using namespace std;#define N 100000
#define INF 0x7fffffffint str[N+10],zero[N+10],d[N+10],lis[N+10];
int n,k,flag=0,cnt=1,maxx=0,ans;void init()
{str[1]=-INF; for(int i=1;i<=n;i++){scanf("%d",&k);if(k==0){flag++;continue;}    str[++cnt]=k-flag;zero[cnt]=flag;}++cnt;str[cnt]=INF;return ;
}int Lis()
{int i,l,r,mid,len=1;d[1]=str[1];for(int i=2;i<=cnt;i++){l=1;r=len;if(d[len]<str[i]){len++;d[len]=str[i];continue;}while(l<=r)//用lower_bound也可以
        {mid=(l+r)/2;if(d[mid]<str[i])l=mid+1;elser=mid-1;}d[l]=str[i];}return len;
}int main()
{scanf("%d",&n);init();ans=Lis()+flag-2;printf("%d",ans);return 0;
}

 

转载于:https://www.cnblogs.com/NSD-email0820/p/9440095.html

http://www.lbrq.cn/news/1585765.html

相关文章:

  • 梧州网站建设定制/cms
  • 常州网站建设最易/深圳关键词优化
  • 网站内页的设计/西安优化外
  • 临海如何制作公司网站框架/手机百度关键词优化
  • dede网站后台模板/全网整合营销平台
  • 在线观看免费网站/长沙网红奶茶
  • window服务器如何做网站访问/怎么做一个自己的网页
  • 电子商务网站建设 论文/百度网址收录入口
  • 论职能网站建设/百度推广登陆
  • 建设旅游服务类网站的可行性报告/舆情分析网站
  • 南通网站建设外包/seo团队
  • 网上做效果图网站有哪些软件有哪些/免费推广网站2023mmm
  • 建设学校网站的报告/杭州百度优化
  • wordpress 添加评论/厦门seo测试
  • 建设赌博网站/免费卖货平台
  • 广州市物联网应用示范项目/武汉网站优化公司
  • php网站开发案例教程 dvd/免费的网页入口
  • 天津企业网站制作/百度推广的费用
  • 企业网站设计北京/百度seo怎么做
  • 陕西城乡建设厅网站/各种资源都有的搜索引擎
  • 国内b2c网站建设/每日国际新闻最新消息
  • 做网站服务公司/百度登录个人中心官网
  • 校园网站建设初探论文/辅导班培训机构
  • 网站的购物车怎么做/seo关键词词库
  • 车载互联系统网站建设/seo搜索引擎优化实战
  • 做自媒体你不得不知道的视频网站/怎样在网上做宣传
  • 遵义晚报电子版官方网站/头条站长平台
  • 产品设计网站制作/全网关键词云在哪里看
  • 探马scrm/seo就是搜索引擎广告
  • 手机网站的尺寸做多大的/宁波建站模板系统
  • Springboot2+vue2+uniapp 小程序端实现搜索联想自动补全功能
  • 超声波自动气象站如何精准预警极端天气
  • 分布式文件系统07-小文件系统的请求异步化高并发性能优化
  • 2025国赛数学建模C题详细思路模型代码获取,备战国赛算法解析——决策树
  • Nginx入门:高性能Web服务器详解
  • 每日五个pyecharts可视化图表-bars(4)