
----分治
欣君
追寻那如樱花般的绚烂
展开
-
51nod 1107 斜率小于0的连线数量
将点按横坐标x排序,然后提取纵坐标y,求逆序数对即可。 #include using namespace std; const int MAXN=50050; struct node { int x,y; }nod[MAXN]; bool cmp(node n1,node n2) { if(n1.x!=n2.x) return n1.x<n2.x; return n1.y<n2原创 2016-11-20 20:29:03 · 245 阅读 · 0 评论 -
51nod 1711 平均数
参考:http://blog.youkuaiyun.com/samjia2000/article/details/51778301 #include using namespace std; const double eps=1e-6; const int MAXN=100100; double val[MAXN]; long long a[MAXN]; int n,num[MAXN]; bool cm转载 2016-12-08 15:50:58 · 269 阅读 · 0 评论 -
51nod 1791 合法括号子段
分治 每层,处理左端点在左区间,右端点在右区间的情况下是数量。其总和就是答案。 #include using namespace std; const int MAXN=1100100; long long ans; char s[MAXN]; int sum_l[MAXN],sum_r[MAXN],cnt[MAXN<<1],mn[MAXN],mx[MAXN]; void merge(in转载 2017-07-31 15:08:16 · 300 阅读 · 0 评论