
----堆/优先队列
欣君
追寻那如樱花般的绚烂
展开
-
51nod 1962 区间计数
#includeusing namespace std;const int MAXN=400400;pair p[MAXN],q[MAXN];int a[MAXN],b[MAXN],ra[MAXN],rb[MAXN];int ins(pair x,pair y)//计算区间并的大小 { if(x.second>y.second) swap(x,y); if(x.second转载 2017-07-12 15:47:30 · 335 阅读 · 0 评论 -
HDU 6041 I Curse Myself
由于每条边最多只在一个环上,因此可以将环上的边权值,构成一个集合。问题就变成了,从若干个集合中,每个集合取一个数,计算K大的总和。一次性考虑所有集合不太容易,可以将集合依次合并过去。那样复杂度就是O(KM)。#includeusing namespace std;const int MAXN=1010;const int MAXM=4020;struct Edge{ int原创 2017-07-26 14:53:17 · 930 阅读 · 0 评论