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

2012年5月23日

【专题】图的连通性问题---无向图的点连通性的求解及应用
摘要: 1.求割点:(1).朴素的方法:n^3(2).Tarjan求割点:n^2顶点u是割点的充要条件:1.如果顶点u是深度优先搜索生成树的根,则u至少有两个子女.2.如果u不是生成树的根,则它至少有一个子女w,从w出发,不可能通过w、w的子孙,以及一条回边组成的路径到达u的祖先.(low[w]>=dfn[u]).去掉割点,将原来的连通图分成了几个连通分量?1.如果割点u是根结点,则有几个子女,就分成了几个连通分量.2.如果割点u不是根结点,则有d个子女w,使得low[w]>=dfn[u],则去掉该结点,分成了d+1个连通分量。下面是一段求割点的代码:View Code /*Source 阅读全文
posted @ 2012-05-23 22:31 Eric.cpp 阅读(2148) 评论(0) 推荐(0)
 
百度笔试算法第二题:如何判断两个单向链表是否有相交,并找出交点
摘要: 1.复杂的就是一个一个的判断,复杂度O(m*n);2.稍微便捷点的就是判断最后一个节点是否相等,复杂度O(m+n);3.知道了两个链表的长度len1,len2,那么先让长的链表向后遍历abs(len1-len2),再进行同时遍历并一对一比较,这样的话复杂度为O(max(m,n))。O(m+n)的代码如下:View Code /*===========================================================================* Function name: FindNode* Parameter: pHead1,pHead2分... 阅读全文
posted @ 2012-05-23 20:15 Eric.cpp 阅读(876) 评论(0) 推荐(0)
 
接着吐槽(2012/5/23)
摘要: 队友们都去北京比蓝桥杯去了,为学院争光,加油。。(要是初赛那天我所兼职的公司不在我们学校路演,我也去了!!)现在实验室独我一人在辛勤的刷题。但我刷题的效率能不能高点啊?能不能不磨叽?不知实验室哪个角落被腐烂的事务污染了,好味啊!!好味啊!! 阅读全文
posted @ 2012-05-23 13:40 Eric.cpp 阅读(123) 评论(0) 推荐(0)
 
POJ-2195(最小费用最大流)
摘要: 题意:二分图最小权匹配。构图:S向左边的点连容量1,费用0的边,右边的点向T连容量1,费用0的边,点之间连容量1,费用为边权的边。最小费用最大流。注意:1.100*100的方格中有10000个点,数组要开大;2.n==0 && m==0 时结束。View Code View Code /*Source CodeProblem: 2195 User: HEU_daoguangMemory: 1172K Time: 94MSLanguage: G++ Result: AcceptedSource Code*/#include <iostream>#include < 阅读全文
posted @ 2012-05-23 13:17 Eric.cpp 阅读(705) 评论(0) 推荐(0)
 
 

公告


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