题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1050

将边排序,枚举边权最小的边,依次加边直到S和T连通,更新答案。

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4. using namespace std;
  5. int inline readint(){
  6. int Num;char ch;
  7. while((ch=getchar())<''||ch>'');Num=ch-'';
  8. while((ch=getchar())>=''&&ch<='') Num=Num*+ch-'';
  9. return Num;
  10. }
  11. int N,M,S,T;
  12. struct EDGE{
  13. int u,v,w;
  14. bool operator < (const EDGE &_)const{
  15. return w<_.w;
  16. }
  17. }edge[];
  18. int fa[];
  19. int inline Getfa(int x){
  20. return fa[x]==x?x:fa[x]=Getfa(fa[x]);
  21. }
  22. int inline Gcd(int a,int b){
  23. return !b?a:Gcd(b,a%b);
  24. }
  25. int main(){
  26. N=readint();
  27. M=readint();
  28. for(int i=;i<=M;i++){
  29. edge[i].u=readint();
  30. edge[i].v=readint();
  31. edge[i].w=readint();
  32. }
  33. sort(edge+,edge++M);
  34. S=readint();
  35. T=readint();
  36. int ansu=,ansd=;
  37. for(int i=;i<=M;i++){
  38. for(int j=;j<=N;j++) fa[j]=j;
  39. int mx;
  40. for(int j=i;j<=M;j++){
  41. int fx=Getfa(edge[j].u),
  42. fy=Getfa(edge[j].v);
  43. if(fx==fy) continue;
  44. mx=edge[j].w;
  45. fa[fx]=fy;
  46. if(Getfa(S)==Getfa(T)) break;
  47. }
  48. if(Getfa(S)!=Getfa(T)) break;
  49. if(mx*ansd<ansu*edge[i].w){
  50. ansu=mx;
  51. ansd=edge[i].w;
  52. }
  53. }
  54. if(ansu==){
  55. puts("IMPOSSIBLE");
  56. return ;
  57. }
  58. int gcd=Gcd(ansu,ansd);
  59. ansu/=gcd;
  60. ansd/=gcd;
  61. if(ansd>) printf("%d/%d\n",ansu,ansd);
  62. else printf("%d\n",ansu);
  63. return ;
  64. }

[BZOJ1050][HAOI2006]旅行comf 枚举+并查集的更多相关文章

  1. bzoj 1050 [HAOI2006]旅行comf (并查集)

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1050 思路: 先将每条边的权值排个序优先小的,然后从小到大枚举每一条边,将其存到并查集 ...

  2. bzoj1050[HAOI2006]旅行comf(枚举+贪心+并查集)

    Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求一条路径,使得路径上最大 ...

  3. BZOJ1050 [HAOI2006]旅行comf[并查集判图连通性]

    ★ Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求 一条路径,使得路径 ...

  4. P2502 [HAOI2006]旅行——暴力和并查集的完美结合

    P2502 [HAOI2006]旅行 一定要看清题目数据范围再决定用什么算法,我只看着是一个蓝题就想到了记录最短路径+最小生成树,但是我被绕进去了: 看到只有5000的边,我们完全可以枚举最小边和最大 ...

  5. BZOJ-1050-[HAOI2006]旅行comf(并查集)

    Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求 一条路径,使得路径上最 ...

  6. bzoj1050: [HAOI2006]旅行comf

    Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求一条路径,使得路径上最大 ...

  7. BZOJ1050: [HAOI2006]旅行comf(并查集 最小生成树)

    Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4021  Solved: 2257[Submit][Status][Discuss] Descript ...

  8. [BZOJ1050] [HAOI2006] 旅行comf (Kruskal, LCT)

    Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求一条路径,使得路径上最大 ...

  9. [bzoj1050 HAOI2006] 旅行comf (kruskal)

    传送门 Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求 一条路径,使得 ...

随机推荐

  1. (linux)mmccard驱动的读写过程解析

      mmc io的读写从mmc_queue_thread()的获取queue里面的request开始. 先列出调用栈,看下大概的调用顺序, 下面的内容主要阐述这些函数如何工作. host->op ...

  2. ref 与 $refs 如何关联

    先问大家一个简单的问题: 还有人记得 jquery 里面的 data 方法是如何让 DOM 节点绑定对应的数据对象的吗 有时候我们做节点关联设计的思路其实有一点类似,但是在 vue 里面多了很多概念, ...

  3. css清除浮动float的七种常用方法总结和兼容性处理

    在清除浮动前我们要了解两个重要的定义: 浮动的定义:使元素脱离文档流,按照指定方向发生移动,遇到父级边界或者相邻的浮动元素停了下来. 高度塌陷:浮动元素父元素高度自适应(父元素不写高度时,子元素写了浮 ...

  4. 包、修饰符、内部类、匿名内部类(java基础知识十)

    1.package关键字的概述及作用 * A:为什么要有包     * 将字节码(.class)进行分类存放  * B:包的概述     *   * C:包的作用     * 包名要定义在第一行,   ...

  5. Unity5.6打包问题

    将unity切换到5.6版本后打Android包时,提示android sdk tools version低于compile version,于是更新了android-sdk(下载了Android-S ...

  6. 【旧文章搬运】PspCidTable攻与防

    原文发表于百度空间,2009-03-29========================================================================== PspCi ...

  7. HDU 5883 The Best Path (欧拉路或者欧拉回路)

    题意: n 个点 m 条无向边的图,找一个欧拉通路/回路使得这个路径所有结点的异或值最大. 析:由欧拉路性质,奇度点数量为0或2.一个节点被进一次出一次,度减2,产生一次贡献,因此节点 i 的贡献为 ...

  8. Win32控制台程序和Win32应用程序

    刚接触Windows那一套,大多数概念都还没建立起来,整理了一下网上对“Win32控制台程序”的理解,谢谢各位网友了. win32控制台项目指在32位Windows命令提示符(即所谓的dos)环境下运 ...

  9. mui中一级联动

    <!doctype html><html> <head> <meta charset="utf-8"> <title>& ...

  10. 黑客攻防技术宝典web实战篇:测试后端组件习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 某网络设备提供用于执行设备配置的 Web 界面.为什么这种功能通常易于受到操作系统命令注入 ...