记录一个菜逼的成长。。
虽然只是L2级,但是感觉比一些L3还要难写。。
其实就是建树的一个过程,如果可以把序列划分成两个部分,一部分的值都比这个节点小,另一部分的值都大于等于这个节点的值
对于每一个节点,都如此判断,递归进行。
这题要注意很多细节。
通不过的可以测试下
Sample1:
2
2 1
Sample2:
3
3 1 2
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
#define ALL(v) (v).begin(),(v).end()
#define cl(a,b) memset(a,b,sizeof(a))
#define pb push_back
typedef long long LL;
const int maxn = 2000 + 10;
int a[maxn],flag,vis[maxn];
struct node{
int l,r,v;
}tree[maxn];
bool check1(int