湖北省建设银行网站,北京 网站设计,坂田杨美企业网站建设,公司网站文件夹设计题意
就是检查这个序列是否删除一个元素就能变成非严格的有序序列 表面上就是一个卡条件检查数组的问题
分析#xff1a;
在向量中upperbound插入上界 这样能够使数组里的数列长度尽可能大 因为 我们是在不断用小数替换数列中的数 大的数直接拼接到最后
code
#include…题意
就是检查这个序列是否删除一个元素就能变成非严格的有序序列 表面上就是一个卡条件检查数组的问题
分析
在向量中upperbound插入上界 这样能够使数组里的数列长度尽可能大 因为 我们是在不断用小数替换数列中的数 大的数直接拼接到最后
code
#includebits/stdc.h
#define rep(i,a,b) for(int (i) (a);(i)(b);(i))
#define rrep(i,a,b) for(int (i) (a);(i)(b);(i)--)
using namespace std;
typedef long long ll;
int a[100005],b[100005];
int main()
{int t;scanf(%d,t);while(t--){int n,S1,NS1;scanf(%d,n);rep(i,1,n)scanf(%d,ai);vectorints;s.clear();s.push_back(a[1]);rep(i,2,n){if(a[i]s[s.size()-1])s.push_back(a[i]);else{int pos upper_bound(s.begin(),s.end(),a[i])-s.begin();s[pos]a[i];}}S (int)s.size();s.clear();s.push_back(a[n]);rrep(i,n-1,1){if(a[i]s[s.size()-1])s.push_back(a[i]);else{int pos upper_bound(s.begin(),s.end(),a[i])-s.begin();s[pos]a[i];}}NS (int)s.size();if(NSn-1||Sn-1)puts(YES);else puts(NO);}return 0;
}