自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

taotao 的大学墓志

keep thinking! keep learning!

  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 LCA

LCA问题,在一棵有根数中找两个节点u,vu,v的最近公共祖先.有多种算法实现,我这里简要总结一下它的基于跳表的倍增实现和与RMQ的关系.跳表倍增实现对于朴素的算法是把每个节点的深度和父亲预处理出来,然后先把两个节点的高度对齐,然后在对每一个节点后退,直到到达公共父亲为止.可以发现这样的算法是 O(n)O(n) 的. 我们可以预处理出每一个节点的 2k2^k 个祖先.这样每次就可以后退 2k2^k

2017-02-27 22:29:41 487

原创 2-SAT

2-SAT问题(2-satisfiability),维基百科的解释非常的官方,我也不好描述,有兴趣的可以去看标准解释2-SAT. 我的理解就是对于一个由布尔值组成的系统,他的额条件子句只包含两个变量. 对这样的系统我们可以用强连通分量来解决. 我们先表示成或的形式的与.然后对每一个或语句进行操作, 比如((xi∨xj)∧(xi∨xk)(x_i\vee x_j)\wedge(x_i\vee x

2017-02-25 20:46:53 1072

原创 HDU 5726 GCD(RMQ 查询 + 二分)

题目描述分析因为gcd有一个特性,区间的公约数等于区间分割后的公约数.所以我门可以预处理一张大的ST表也就是可以用RMQ查询. 然后我们对每一个左端点枚举求出不同gcd的计数(开一个map),暴力的方法就是再枚举右端点。可是由于nn太大了,这没法暴力。由于gcd随着区间长度的增长肯定是递减的,所以我们可以二分的来预处理.(O(lgn)O(lgn))最终可以再O(n∗lgn)O(n*lgn)预处理出

2017-02-25 16:40:18 476

原创 Hdu 5727 Necklace(二分图匹配)

题目描述分析这个题目可以用二分图匹配 首先,由于要求一个园排列,并且这个元排列的阴球和阳球必须交错,因此,我们可以枚举阴球的排列数,然后对每一种排列再来找结果,具体来说,对每一种排列,我们可以把中间的间隔与阳球对应建图,如果说阳球可以放在这里,我们就建一条边,然后对这个图求一个二分图匹配,结果就是最大可以放置数目,用 nn减去这个值就是被污染的球的数目,对每一种排列求最小值就行了#include

2017-02-25 16:28:29 409

原创 poj 1236 Network of School (加边成强连通分量)

题目描述poj 1236 Network of School分析对于task1: 只需要求缩点后的的入度为0的分量数就行了,因为他们没有入边所以需要分发给他们. 至于求缩点后的入度为0的边,我们可以对每一个点遍历,判断他直接到达的点是否和他再同一个分量中,如果不是那么这条边必定是连接两个分量的边,对相应的分量的入度和出度进行加减操作即可, for(int i=0 ; i<n ; ++i){

2017-02-24 11:01:31 441

原创 codeforces 776C Molly's Chemicals(前缀和 二分搜索)

题目描述分析这个题其实很简单,对于每一个k的幂次powerk的幂次power我们只需对每一个末端点的前缀和ss,求一下前缀和为s−powers-power的个数,就行了。ac代码#include <cstdio> #include <algorithm> #include <cstring> #include <iostream> #include <vector> #include <queue>

2017-02-24 09:59:12 1062

原创 强联通分量分解

强联通分量分解一个有向图的强联通分量的定义如下: 若对于子图中的任意两个节点u,vu,v总存在 uu 到 vv 的路径则这个子图称作这个图G的一个强联通分量 对于图的强联通分量分解,《算法导论》中介绍了Kosaraju Algorithm.这个算法思想很简单: 1. dfs遍历有向图. 计算节点访问结束的时间. 2. 计算 GTG^T 即边反向后的图. 3. 按照结束时间递减的顺序,dfs

2017-02-22 23:30:30 667

原创 poj 1486 Sorting Slides(二分图匹配必要边)

题目描述分析先求一个最大匹配,然后对与每一条匹配边,删除以后搜一下增广路,如果存在增光路则这不是必要边,如果不存在,说明这就是一条必要边.code#include <cstdio> #include <cstring> #include <iostream> #include <algorithm>#define fi first #define se second using namespace

2017-02-20 21:23:54 539

原创 最大密度子图

参考文献 * 《最小割模型在信息学竞赛中的应用》分数规划分数规划问题 分数规划中有几个重要的结论,详细的证明过程不在给出,请参考论文原问题等价于 g(λ)=min{a(X)−λb(X)}g(\lambda) = min \{a(X)-\lambda b(X)\}重要性质 g(λ′)=0⇔λ′为原分数规划的最优解g(\lambda') = 0 \Leftrightarrow \lamb

2017-02-16 19:54:54 2695

原创 无向带权图最小割stoer-wagner算法(poj 2914 Minimum cut)

这题其实就是知道stoer wagner 算法就能解决不知道就不行.stoer wagner 算法这个算法基于减治的思想. 设 G(V,E),{M,N}G(V,E),\{M,N\} 组成 GG 的最小割,对于任意两点s,ts,t无非两种情况 s,t∈M或者s,t∈N min−cut≤cut(s,t)s,t \in M或者s,t\in N \ min-cut\le cut(s,t) s∈

2017-02-15 20:51:29 994

原创 poj 2987 Firing 最大权闭合子图

参见文献: 最小割模型在比赛中的运用这是最大权闭合子图问题,参见以上文献. 建边, s->i if b[i]>0; i->t if b[i]<0; i->j if j是i的下属 费用就等于 ∑b[i]>0b[i]−max−flow\sum_{b[i]>0}b[i] - max-flow 与SS相连接的点为裁掉的人员#include <cstdio> #include <iostrea

2017-02-14 22:46:03 377

原创 网络流总结

简要总结以下网络流的学习.参考资料 《挑战程序设计竞赛》 《算法竞赛入门经典》-刘汝佳 《算法导论》 最大流符号说明 f(u,v) u,流向 vf(u,v)\ u,流向\ v的流量 c(u,v) u, vc(u,v)\ u,\ v 的容量 s,ts,t 源点和汇点 流网络一个流网络总是满住以下限制条件的流量限制: 对于任意的节点 u,vu,v 满足 0≤f(u,v)≤c(u,v)0 \le f(u,

2017-02-12 20:28:38 592

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除