亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

1034. Head of a Gang

2019-11-10 16:50:42
字體:
來源:轉載
供稿:網友

考察并查集。發現并查集什么都不會呀。。。

查看了大神的代碼感覺自己太弱了 http://blog.csdn.net/sunbaigui/article/details/8657148

代碼照抄的 就是注釋了下。留著當筆記吧。 學習了下map set 迭代器 的使用 還是有點不熟練,還要多練。。

感覺這里開始PAT題的類型突然變了。。

#include <iostream>#include <string>#include <vector>#include <map>#include <set>#include <algorithm>#define MAX 1010using namespace std;struct Call {	string p1, p2;	int time;};struct Node {	int weight, parent;};struct Gang {	int head, num, sum, maxw;	Gang() { head = -1; num = 0; sum = 0; maxw = -1; }};vector <Call> list;vector <Node> p; //并查集set <string> name;map <string, int> str2int;map <int, string> int2str;int NameNum;int N, threthold;void InitSet() {	p.resize(NameNum);	for (int i = 0; i < NameNum; i++) {		p[i].parent = i; p[i].weight = 0; //當父母為自己時為根節點	}}//結點壓縮//		①					 ①//		|				   /   ///		②   壓縮成		 ②		③//		|//		③void ComPRessSet(int top, int x) { //路徑壓縮    	if (top != p[x].parent) {//不是并查集的根結點		CompressSet(top, p[x].parent); //繼續壓縮		p[x].parent = top;	}}int FindSet(int x) {//查找根節點	if (x != p[x].parent) { //不是根結點		int top = FindSet(p[x].parent); //top為根結點		CompressSet(top, x); //壓縮結點	}	return p[x].parent;//返回根節點}void UnionSet(int x, int y) {	int a = FindSet(x);	int b = FindSet(y);	p[a].parent = b;}bool cmp(Gang g1, Gang g2) {	return int2str[g1.head] < int2str[g2.head];}int main() {	cin >> N >> threthold;	Call temp;	for (int i = 0; i < N; i++) {		cin >> temp.p1 >> temp.p2 >> temp.time;		list.push_back(temp);		name.insert(temp.p1);		name.insert(temp.p2);	}	NameNum = name.size();	//名字轉換為編號	set<string>::iterator it;	int id = 0;	for (it = name.begin(); it != name.end(); it++, id++) {		str2int[*it] = id;		int2str[id] = *it;	}	InitSet();	for(int i = 0; i < list.size(); i++){		int u = str2int[list[i].p1];		int v = str2int[list[i].p2];		p[u].weight += list[i].time;		p[v].weight += list[i].time;		UnionSet(u, v);	}#ifdef _DEBUG	for (int i = 0; i < p.size(); i++) {		cout << int2str[i] << " " << int2str[p[i].parent] << " " << int2str[FindSet(i)] << endl;	}#endif	map <int, Gang> allset; // fitst = int second = Gang	map <int, Gang>::iterator it2;	for (int i = 0; i < NameNum; i++) {		int top = FindSet(i);		it2 = allset.find(top);//查找根節點的幫會集合		if (it2 != allset.end()) {			allset[top].sum += p[i].weight;			allset[top].num++;			if (p[i].weight > allset[top].maxw) {				allset[top].maxw = p[i].weight;				allset[top].head = i;			}		}		else {//沒有 新建幫會			Gang temp;			temp.head = i; temp.maxw = p[i].weight;			temp.num = 1; temp.sum = p[i].weight;			allset[top] = temp;		}	}	vector <Gang> gang;	for (it2 = allset.begin(); it2 != allset.end(); it2++) {		if (it2->second.sum > 2 * threthold && it2->second.num > 2)			gang.push_back(it2->second);	}	sort(gang.begin(), gang.end(), cmp);	cout << gang.size() << endl;	for (int i = 0; i < gang.size(); i++) {		cout << int2str[gang[i].head] << " " << gang[i].num << endl;	}	system("pause");	return 0;}


上一篇:A+B (I)

下一篇:MFC的CString的find的使用

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
上原亚衣av一区二区三区| 成人免费看吃奶视频网站| 国产一区二区在线播放| 欧美亚洲免费电影| 欧美在线亚洲一区| 91精品视频在线| 色综合男人天堂| 一区二区三区 在线观看视| 欧美大人香蕉在线| 尤物tv国产一区| 欧美午夜精品久久久久久人妖| 97视频免费看| 欧美视频在线观看 亚洲欧| 欧美有码在线观看视频| 欧美大肥婆大肥bbbbb| 亚洲午夜久久久影院| 亚洲视频网站在线观看| 亚洲男人第一网站| 日韩欧美在线观看视频| 亚洲男人第一网站| 伊人伊人伊人久久| 欧美亚洲成人精品| 欧美国产亚洲视频| 91高清在线免费观看| 色综合天天综合网国产成人网| 中文字幕亚洲二区| 日韩网站免费观看| 久久成人精品视频| 日韩一级裸体免费视频| 97精品视频在线播放| 久久久999精品| 国产精品三级网站| 91网站免费看| 成人精品久久久| 国产一区二中文字幕在线看| 91精品国产高清自在线| 久久久成人精品| 97**国产露脸精品国产| 国产精品黄页免费高清在线观看| 国产一区二区丝袜| 亚洲人成啪啪网站| 国产91|九色| 亚洲精品小视频在线观看| 欧美日韩免费在线| 亚洲精品v欧美精品v日韩精品| 日韩精品在线免费观看| 欧美激情亚洲综合一区| 欧美亚洲成人精品| 亚洲奶大毛多的老太婆| 中文字幕亚洲一区二区三区五十路| 国产精品一区二区3区| 久久视频免费观看| 久久成人人人人精品欧| 色综合伊人色综合网| 国产精品国内视频| 国产精品免费一区二区三区都可以| 精品国产一区二区三区四区在线观看| 日韩中文字幕视频在线| 欧美日韩视频在线| 日韩激情av在线免费观看| 亚洲人成在线免费观看| 国产热re99久久6国产精品| 亚洲人成网站色ww在线| 亚洲欧洲一区二区三区在线观看| 欧美日本高清视频| 国产成人精品视频| 欧美激情综合亚洲一二区| 亚洲bt天天射| 一区二区三区动漫| 日韩av色在线| 亚洲iv一区二区三区| 欧美激情a在线| 国模极品一区二区三区| 欧美色图在线视频| 亚洲黄色在线观看| 欧美成人一区在线| 免费不卡欧美自拍视频| 日韩av在线网页| 日韩av电影手机在线观看| 日韩黄色在线免费观看| xxav国产精品美女主播| 欧美黑人国产人伦爽爽爽| 亚洲free嫩bbb| 久久综合久久88| 综合久久五月天| 国产91ⅴ在线精品免费观看| 国产精品久久久久久亚洲影视| 国产成人精品久久| 亚洲精美色品网站| 免费91麻豆精品国产自产在线观看| 中文字幕日韩欧美在线| 亚洲最大的成人网| 精品中文视频在线| 国产欧美日韩免费看aⅴ视频| 国外色69视频在线观看| 亚洲香蕉av在线一区二区三区| 欧美激情视频免费观看| 亚洲激情视频在线观看| 欧美成人精品三级在线观看| 亚洲精品成人久久久| 精品中文字幕视频| 九色91av视频| 亚洲欧美第一页| 2024亚洲男人天堂| 亚洲国产一区二区三区四区| 欧美午夜电影在线| 91久久国产婷婷一区二区| 中文.日本.精品| 亚洲一区二区三区成人在线视频精品| 国产日韩欧美在线观看| 中文字幕一区二区精品| 国产精品狠色婷| 国产免费一区二区三区在线能观看| 欧美另类暴力丝袜| 在线播放国产一区中文字幕剧情欧美| 日本a级片电影一区二区| 亚洲国产天堂久久综合网| 久久人91精品久久久久久不卡| 亚洲欧美国产制服动漫| 亚洲视频专区在线| 一区二区三区视频在线| 亚洲精品欧美日韩专区| 疯狂欧美牲乱大交777| 国产欧美一区二区| 91免费精品视频| 久久久久久久久国产精品| 久久亚洲精品网站| 国产欧美日韩高清| 国产成人精品一区二区| 日韩在线观看成人| 欧美日产国产成人免费图片| 高清日韩电视剧大全免费播放在线观看| 亚洲精品久久久久国产| 日韩国产高清视频在线| 97色在线视频观看| 久久久精品免费视频| 91青草视频久久| 国产精品久久久久久久久影视| 日韩视频在线一区| 久久久精品一区| 亚洲天堂色网站| 中文字幕一精品亚洲无线一区| 亚洲人成电影网站色| 夜夜嗨av一区二区三区免费区| 国内外成人免费激情在线视频| 日韩视频在线免费| 国产日韩欧美综合| 中文字幕日本欧美| 国产成人欧美在线观看| 欧美影院成年免费版| 国产日韩在线观看av| 国产一区二区视频在线观看| 欧美日韩国产成人| 亚洲四色影视在线观看| 欧美中文在线观看| 欧美性受xxxx白人性爽| 九色成人免费视频| 国产精品视频中文字幕91| 97视频人免费观看| 欧美午夜精品久久久久久浪潮| 久久久国产影院| 精品国产一区二区三区四区在线观看| 成人精品一区二区三区电影黑人| 精品久久久久久亚洲精品|