题目描述
blablabla
样例
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n,a[N];
bool check(){
stack<int>stk;
for(int req = 1, i = 1;req <= n; req ++ ){
if(i <= n && req == a[i]) i ++ ;
else if(stk.size() && stk.top() == req) stk.pop();
else if(i <= n)stk.push(a[i ++ ]),req -- ;
else return false;
}
return true;
}
int main()
{
int t;
cin >> t;
for(int b = 1; b <= t; b ++ ){
cin >> n;
for(int i = n; i >= 1; i -- ) cin >> a[i];
cout << (check() ? 'Y' : 'N') << endl;
}
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla