HDU-3998 Sequence LIS统计
题意
让我们在数串统计最长长度的LIS有多少个 每个LIS元素没有重叠
分析
这题可以用nlogn的LIS方法水过
就是每次我们更新找到的LIS长度的时候 就把当前位置下的元素标记
表示我们把它删掉了
不断地重复找LIS的过程 最后如果找到的长度小于我们最初找到的LIS长度 就退出循环
复杂度大概在O(number of LIS * n * logn)
code
#include<bits/stdc++.h>
using namespace std;
vector<int>v,ans;
map<int,int>bok;//由于数据范围不明确直接用map比较省内存
int main()
{int n;while(~scanf("%d",&n)){for(int i=1;i<=n;i++){int t;scanf("%d",&t);v.push_back(t); }int Ma = 0,res=0,at=0;while(1){Ma=0;// 初始化为0 ans.clear();ans.push_back(-1);// 保证一定能查到元素下界for(int i=0;i<n;i++){if(bok[i])continue; if(v[i]>ans[ans.size()-1])ans.push_back(v[i]),Ma++,bok[i]=1;else if(v[i]<=ans[ans.size()-1]){int pos = lower_bound(ans.begin(),ans.end(),v[i])-ans.begin();ans[pos] = v[i];}} if(Ma>res)res = Ma,at=1;else if(Ma==res)at++;else if(Ma<res)break;}printf("%d\n%d\n",res,at);bok.clear();ans.clear();v.clear(); }return 0;
}
一开始没发现有多组 。。。 读题啊。。。
HDU-3998 Sequence LIS统计相关推荐
- HDU - 5919 Sequence II——主席树+区间种类++逆序建树
[题目描述] HDU - 5919 Sequence II [题目分析] 题目给定一个数组,每次查询一个区间,找出区间内不同数字的个数x,然后输出按出现顺序第x/2向上取整个数字的位置. 按照要求,我 ...
- HDU 3397 Sequence operation(线段树)
HDU 3397 Sequence operation 题目链接 题意:给定一个01序列,有5种操作 0 a b [a.b]区间置为0 1 a b [a,b]区间置为1 2 a b [a,b]区间0变 ...
- hdu 3397 Sequence operation(线段树,lazy,区间合并)
hdu 3397 Sequence operation 线段树lazy和区间合并结合的一个题,相当于几个题集中到一起嘛,分开想就好了 0,1,2操作都要lazy,2的异或操作找到每一只含1或只含0的区 ...
- HDU 5919 Sequence II 主席树
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5919 Sequence II Time Limit: 9000/4500 MS (Java/Othe ...
- HDU - 3564 Another LIS(LIS+线段树)
http://acm.hdu.edu.cn/showproblem.php?pid=3564 题意 给出1~n的插入顺序,要求每次插入之后的LIS 分析 首先用线段树还原出最终序列.因为插入的顺序是按 ...
- hdu 5312 Sequence(数学推导——三角形数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5312 Sequence Time Limit: 2000/2000 MS (Java/Others) ...
- HDU 6078Wavel Sequence
[题目链接]http://acm.hdu.edu.cn/showproblem.php?pid=6078 题目意思 给定两个数组问你同时满足波浪的波浪数.不理解可以看题目提示部分 解题思路 首先从a数 ...
- 【HDU 1735】字数统计(贪心,有缺陷的一道题)
题目分析: 告知有m段,第一行一定带领一段,所以要找出另外m-1段. 由于题目要求最少有多少字被破坏,所以我们要找出的m-1段要求被破损的最少,即是"好"的部分最多. 满足一段开头 ...
- 数论分块练习([CF830 C]Bamboo Partition + [hdu 6395]Sequence )
文章目录 T1:Sequence title solution T2:Bamboo Partition title solution code T1:Sequence title 传送 solutio ...
最新文章
- 哪个版本python适用于windows-何种版本的Python适合您
- Linux系统下的数据镜像备份工具——Rsync
- 如何在PySide中使用qrc资源文件
- Spring源码学习笔记1
- nio java 内核拷贝_大文件拷贝,试试NIO的内存映射
- 【LINUX】Oracle数据库 linux磁盘头数据损坏修复
- 关于jinja2的{{...|safe}}过滤器
- JS_13原型与原型链
- 国货在崛起,八成都做对了这件事
- Python字符串的encode与decode 解决乱码问题
- Fragment懒加载(三)
- iOS 史上最详细的app测试或者上架AppStore流程
- 使用计算机打印汉子文档,电子科技大学《计算机应用基础(本科)》20春期末考试【标准答案】...
- win10下rdlc报表在vs(visual studio)中中文显示小方块的批量处理解决方法
- 5份简洁大方的个人简历模板,让你轻松应对面试
- oracel的安装和卸载
- 2.4G超低功耗射频芯片NRF24L01P和SI24R1和CI24R1的区别
- 信息系统项目管理师必背核心考点(四十八)合同类型的选择
- vsftp登录失败_VSFTP虚拟账户无法登陆530 Login incorrect错误解决方法 | 系统之家官网...
- 利用python打开Matlab的mat文件
热门文章
- ThinkPHP 3.2.3 关联模型的使用
- can't load apple.laf.AquaLookAndFeel (Ant in Eclipse can't find it
- Ubuntu 8.04下Netbeans的字体反锯齿解决(转)
- C# 繁体,简体 互转
- BeanUtil使用例子:解析并转化HttpServletRequest到Bean的全面测试
- post提交,WPF,Silverlight(加深记忆写一遍)
- .net Redis缓存优化提高加载速度和服务器性能(一)
- php ajax mysql 分页查询_PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
- 微信小程序 - 用户进入客服会话会在右下角显示可能要发送的小程序提示
- WebStorm取消默认style样式折叠