最经典的一道周长并的题目。
其实周长并并没有想象那么难。
首先,肯定要确定,我们需要做两次扫描线。
第一次是从下向上,第二次是从左向右,这样得到的才是四周的周长
其次,,扫描的时候如何更新周长呢?
每次增加线段后,把新得到的长度与之前的做比较,两者之差的绝对值就是这次增加线段后的长度
所以每次都这样更新,最后得到的就是周长了。
#include<map>
#include<set>
#include<cmath>
#include<stack>
#include<queue>
#include<cstdio>
#include<string>
#include<vector>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<functional>using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define root 0,20004,1int const MP = 10000 + 5;
int const MX = 2e4 + 5;int cnt[MX << 2];
int S[MX << 2];struct Que {int d;int top, L, R;Que() {}Que(int _top, int _L, int _R, int _d) {t