hdu 5532 Almost Sorted Array(最长不上升子序列、暴力)
来源:互联网 发布:微商城源码下载 编辑:程序博客网 时间:2024/06/05 18:17
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=5532
题目大意:
给出n个数,问如果去掉其中一个数,能否构成不上升或者不下降的序列。
思路:
最直观的就是通过判断原数列的最长不上升(或者不下降)子序列的长度,如果长度len>=n-1,那就是YES,否则就是NO。
这里可以用nlogn的算法。
还有一种就是直接暴力去数,每去掉一个数就判断一次,复杂度O(n)。具体操作就是先计算出原数列<和>关系的数量,去掉一个数以后,就会减少两种关系,多出一种新的关系。然后判断<和>的数量是否同时大于0,如果是就是NO,否则就是YES。当然对于边界的两个数要特殊处理一下,还是比较简单的。
代码:
这里只贴第一种方法:
#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm>using namespace std;int main(){ int T,n,i,j,k,a[100005],k1,k2,ans[100005],len,b[100005],flag; scanf("%d",&T); while(T--) { flag=0; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(ans,0,sizeof(ans)); k1=k2=0; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); ans[1]=a[1]; len=1; for(i=2;i<=n;i++){ if(a[i]>=ans[len]) ans[++len]=a[i]; else { int pos=upper_bound(ans+1,ans+len+1,a[i])-ans; ans[pos]=a[i]; } } if(len==n-1||len==n) {printf("YES\n");continue;} for(i=1;i<=n;i++) b[i]=a[n-i+1]; ans[1]=b[1]; len=1; for(i=2;i<=n;i++){ if(b[i]>=ans[len]) ans[++len]=b[i]; else { int pos=upper_bound(ans+1,ans+len+1,b[i])-ans; ans[pos]=b[i]; } } if(len==n-1||len==n) printf("YES\n"); else printf("NO\n"); } return 0;}
0 0
- hdu 5532 Almost Sorted Array(最长不上升子序列、暴力)
- hdu 5532 Almost Sorted Array(最长上升(不下降)子序列和最长下降(不上升)子序列)
- hdu 5532 Almost Sorted Array 最长上升子序列
- HDU5532 Almost Sorted Array(最长不上升子序列or暴力)
- HDU5532 Almost Sorted Array(最长不上升子序列)
- hdu5532 Almost Sorted Array--最长上升子序列
- HDU 5532 Almost Sorted Array(最长不下降子序列nlogn模板)
- [hdu 5532] [2015ACM/ICPC亚洲区长春站 ] Almost Sorted Array 最长不下降子序列
- 简单dp hdu 5532 Almost Sorted Array nlogn 的最长非严格单调子序列
- HDU 5532 Almost Sorted Array(思维,最长递增子序列,模拟)
- hdu-5532 Almost Sorted Array(最长单调不xx序列)
- HDU5532 Almost Sorted Array 最长上升子序列 国庆咸鱼 未完待续
- Almost Sorted Array(HDU 5532 单调递增子序列)
- HDOJ 5532 Almost Sorted Array(qwb铜牌水题 最大上升子序列)
- HDU5532 Almost Sorted Array(最长子序列)
- HDU 5532 Almost Sorted Array(最长非递减子序列 模板题)——2015ACM/ICPC亚洲区长春站
- hdu 5532 Almost Sorted Array
- HDU 5532 Almost Sorted Array
- Mysql学习--索引(一)
- C6678网口初始化失败
- 两个基于ffmpeg的高清下变换脚本
- Hardwood Species(水)
- 将MongoDB安装为Windows服务
- hdu 5532 Almost Sorted Array(最长不上升子序列、暴力)
- webView打开本地文件和使用第三方网页,以及使用自己的webViewClient
- 星座为什么会有准度且大多数人会符合自己的星座特点
- 超级系统工具Sysdig,比 strace、tcpdump、lsof 加起来还强大
- 实时操作系统若干问题
- 搜索引擎的架构_读书笔记
- Monkey测试简介
- UNIX常用命令
- 线程的sleep,join,yield方法