2016年8月18日

POJ3694 Network(连通图+LCA)

摘要: 题目链接:http://poj.org/problem?id=3694 题目大意:给定一个图,每次添加一条边(可能有重边)。输出每次添加后桥的 数目。由于添加边的次数比较多,添加一次Tarjin一次明显会超时。后来查到了 LCA算法,利用保存的子节点与最近父节点的关系进行计算的。第一次Tarjin后 阅读全文

posted @ 2016-08-18 20:28 刘威O_0 阅读(247) 评论(0) 推荐(0) 编辑

POJ3061 尺取法

摘要: 题目大意:从给定序列里找出区间和大于等于S的最小区间的长度。 前阵子在zzuli OJ上见过类似的题,还好当时补题了。尺取法O(n) 的复杂度过掉的。尺取法:从头遍历,如果不满足条件,则将尺子尾 部增加,若满足条件,则逐渐减少尺子头部直到不满足条件为止,保存 尺子长度的最小值(尾部-头部+1)即可。 阅读全文

posted @ 2016-08-18 20:18 刘威O_0 阅读(427) 评论(1) 推荐(0) 编辑

POJ3020 匹配

摘要: 题目大意:给定一地图,*可以和相邻的*匹配成一对儿,问最少需要对儿匹配才能使所有*都被匹配到。 很直白的最小点覆盖,即ans = 点集数-最大匹配数。 不过一开始要对图进行遍历得到点集,找到一个*就把点集数+1,并和周围的匹配即可。为了防止重复, 我只匹配了左边和上边的点。由于用邻接表保存了双向路, 阅读全文

posted @ 2016-08-18 20:11 刘威O_0 阅读(229) 评论(0) 推荐(0) 编辑

2016年8月15日

POJ3694 Network

摘要: 题目大意:已知连通图G有N个点m条无向边,有Q次操作,每次操作为增加一条边,问每次操作后图上有几个桥。 如果添加一条边进行Tarjin搜索一次时间复杂度为m*m*q很大,会超时。真的超时,我试过。看了lx学长的题解才 直到有LCA这个东西。LCA算法意思是保存Tarjin搜索树上的父节点和子节点关系 阅读全文

posted @ 2016-08-15 17:21 刘威O_0 阅读(144) 评论(0) 推荐(0) 编辑

hdu4738 Caocao's Bridges

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4738 题目大意:曹操赤壁之战大败,于是卷土重来。为了避免水上作战,他在长江上建立了一些岛屿,这样他的士兵就可以在岛屿上攻击到 周瑜的军队。同时,为了更方便各个岛屿的支援与部署,他在一些岛屿之间又修建了一些桥,并且 阅读全文

posted @ 2016-08-15 16:34 刘威O_0 阅读(219) 评论(0) 推荐(0) 编辑

2016年8月11日

zzulioj 1907小火山的宝藏交易(dfs记忆化搜索)

摘要: 进入一个房间后有两种选择,1:拿走此房间宝藏,后面的不要了;2:此房间宝藏放弃,拿走与此房间相连的所有其他房间的宝藏; 这样两种选择取最大值即可,用递归的回溯判断更方便。此题数据有坑,题面也没给数据范围,然而int却过不掉。 阅读全文

posted @ 2016-08-11 11:02 刘威O_0 阅读(169) 评论(0) 推荐(0) 编辑

zzuliOJ 1904小火山的股票交易;

摘要: dp[i][j]表示第i次交易第j天的股票时可获得的最大利益。第i次交易的最大利益为此次不进行交易,或者进行交易也就是 上次交易的于某天的利益(此天在j之前)和此天后再次买入卖出获得的利益两者之和,遍历所有可能状态即可, 为了防止超时在查找j天之前的最大利益时加一变量maxn记录在j天之前的最大价值 阅读全文

posted @ 2016-08-11 10:39 刘威O_0 阅读(262) 评论(0) 推荐(0) 编辑

2016年7月14日

UVA315 (无向图求割点)

摘要: 题目大意:给定一个无向图,问共存在多少个割点。(割点:去掉此点后此图会断开连接)割点有两种存在:一种是第一次搜索的根节点,若其子节点数超过两个,则此点去掉后图会 断开连接,因此此点为割点;或者此点为搜索树的子节点,若其子节点的最早达到时间状态比其自身要晚,则说明此点不得不经过,并以此来更新其子节点, 阅读全文

posted @ 2016-07-14 22:26 刘威O_0 阅读(506) 评论(0) 推荐(0) 编辑

连通图模板(HDU 1269)

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1269 题目大意:给定一个图,判断该图是否是强连通图。(强连通图为从任意一点出发,可到达其他所有点)。深搜的Tarjin算法即可通过。其中 判断是否为强连通图需要判断所给的图是否连成一块儿,并且连接次数为n(所有点 阅读全文

posted @ 2016-07-14 21:39 刘威O_0 阅读(213) 评论(0) 推荐(0) 编辑

2016年7月13日

HDU 3974 Assign the task(dfs建树+线段树)

摘要: 题目大意:公司里有一些员工及对应的上级,给出一些员工的关系,分配给某员工任务后,其和其所有下属都会进行这项任务。输入T表示分配新的任务, 输入C表示查询某员工的任务。本题的难度在于建树,一开始百思不得其解,后来看了lx大大的博客后才明白,用递归建立了各个员工之间的关系,Start[x] 表示x员工为 阅读全文

posted @ 2016-07-13 15:43 刘威O_0 阅读(198) 评论(0) 推荐(0) 编辑

导航