----堆/优先队列
欣君
追寻那如樱花般的绚烂
展开
-
51nod 1962 区间计数
#include using 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 · 312 阅读 · 0 评论 -
HDU 6041 I Curse Myself
由于每条边最多只在一个环上,因此可以将环上的边权值,构成一个集合。问题就变成了,从若干个集合中,每个集合取一个数,计算K大的总和。 一次性考虑所有集合不太容易,可以将集合依次合并过去。那样复杂度就是O(KM)。 #include using namespace std; const int MAXN=1010; const int MAXM=4020; struct Edge { int原创 2017-07-26 14:53:17 · 911 阅读 · 0 评论