博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【HDOJ】3367 Pseudoforest
阅读量:6962 次
发布时间:2019-06-27

本文共 1058 字,大约阅读时间需要 3 分钟。

并查集。

1 #include 
2 #include
3 #include
4 5 #define MAXN 10005 6 #define INF 0xffffff 7 8 typedef struct { 9 int c, s, e;10 } edge_st;11 12 edge_st edges[100005];13 int pre[MAXN];14 int deg[MAXN];15 int n, m, ans;16 17 int comp(const void *a, const void *b) {18 return ((edge_st *)b)->c - ((edge_st *)a)->c;19 }20 21 int find(int x) {22 return x==pre[x] ? x:pre[x]=find(pre[x]);23 }24 25 void merge(int i) {26 int a, b;27 28 a = find(edges[i].s);29 b = find(edges[i].e);30 if (a != b) {31 if (deg[a] == 0) {32 pre[a] = b;33 ans += edges[i].c;34 } else if (deg[b] == 0) {35 pre[b] = a;36 ans += edges[i].c;37 }38 } else {39 if (deg[a] == 0) {40 ++deg[a];41 ans += edges[i].c;42 }43 }44 }45 46 int main() {47 int i;48 49 while (scanf("%d %d", &n, &m)!=EOF && (n||m)) {50 for (i=0; i

 

转载于:https://www.cnblogs.com/bombe1013/p/3800385.html

你可能感兴趣的文章
十六进制转二进制
查看>>
设计模式之模板模式
查看>>
直接插入排序
查看>>
springmvc4.x返回json数据
查看>>
iOS逆向之三-authorized_keys ssh登录越狱手机免验证设置
查看>>
解决linux的-bash: ./xx: Permission denied
查看>>
Laravel 第三方登陆之 Socialite Providers
查看>>
Ubuntu14.10 remove ibus 之后
查看>>
Spring第一天
查看>>
springMVC笔记系列(20)——控制器实现详解(下)
查看>>
Linux文件上传下载,rz和sz
查看>>
在as3中使用嵌入字体
查看>>
How processor, assembler, and programming langu...
查看>>
五种方法解决Magento中jQuery和Prototype兼容性
查看>>
PPT模板网站
查看>>
InSave 隐私政策
查看>>
[Linux command]批处理注释
查看>>
delphi 操作文件时间的函数
查看>>
nodjs 生产环境及升级问题
查看>>
JS判断客户端是否是iOS或者Android手机移动端
查看>>