枚举起点 二分终点 树状数组check #include<iostream> #include<cstring> #include<cmath> #include<algorithm> #include<cstdio> #include<map> #include<queue> #include<vector> using namespace std; +; int n,k,m; long long a[max…
题目大意: 就是给定一堆位置,进行删除还原,最后找到 t 位置上的最大连续位置 #include <cstdio> #include <cstring> #include <iostream> using namespace std; ; struct Node{ int l , r , ml , mr , ma; //ml左最长,mr右最长,ma总最长 }tree[N<<]; void build(int o , int l , int r) { tree…