码迷,mamicode.com
首页 > 其他好文 > 详细

HDU4907Task schedule(并查集)

时间:2014-09-03 14:58:36      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:http   io   ar   for   cti   代码   sp   amp   on   

题目:HDU4907Task schedule(并查集)


题目大意:中文题意自己看。


解题思路:并查集。


代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <functional>

using namespace std;

const int N = 2e5 + 5;

int num[N];
int p[N];
int n, m;

void init () {
	
	sort (num, num + n, greater<int>());
	for (int i = 1; i < N; i++)
		p[i] = i;	
}

int getParent (int q) {

	return q == p[q] ? q : p[q] = getParent(p[q]);
}

int main () {

	int T;
	scanf ("%d", &T);
	while (T--) {
	
		scanf ("%d%d", &n, &m);
		for (int i = n - 1; i >= 0; i--) 
			scanf ("%d", &num[i]);			
		
		init ();

		for (int i = 0; i < n; i++) 
			p[num[i]] = getParent(num[i] + 1); 

		int q;
		for (int i = 0; i < m; i++) {
			scanf ("%d", &q);
			printf ("%d\n", p[q]);
		}
		//printf ("%d\n", N);
	}
	return 0;
}


HDU4907Task schedule(并查集)

标签:http   io   ar   for   cti   代码   sp   amp   on   

原文地址:http://blog.csdn.net/u012997373/article/details/39027473

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!