• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

  • 联系
  • 订阅
  • 管理

2010年10月16日

最小生成树 HDU 1233 还是畅通工程

摘要: 学会了并查集,kruskal算法就没有大问题了先对边的权值排序, 再不断添加边(要保证不形成回路,用并查集),直到添加的边数为n-1时停止这题WA几次,检查几次算法发现无问题,最后发现数组开少了,囧~#include<iostream>#include <algorithm>#define MAX 105using namespace std;struct Edge{ int v; int w; int lenth;};int parent[MAX];int find(int );void Union(int , int);bool cmp( Edge a, Edge 阅读全文

posted @ 2010-10-16 19:12 sysuwhj 阅读(340) 评论(0) 推荐(0)

并查集 HDU 1272 小希的迷宫

摘要: 今天狠下心,把并查集学了,方便以后写最短路径算法,结合网上和书本上的方法,总算搞明白大概模板和思路先找了几题练练,都是套模板,但这题卡住了,一直找不到原因,后来看了别人解题报告,才明白忽略了一个问题题意是:给你一幅图,判断它是否存在回路要注意:要考虑图拆分为几颗树时,也是不符合的。一开始没考虑到这个问题#include <iostream>#define MAX 100005using namespace std;int parent[MAX];void Union2(int, int);int find2(int);int main(){ int n, m; int a,b; i 阅读全文

posted @ 2010-10-16 16:02 sysuwhj 阅读(528) 评论(0) 推荐(0)

 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3