
ACM 图论
文章平均质量分 85
百里屠猪
I'm an ACMer!
展开
-
hdu 4253
陈题, 有篇论文, 利用了N多生成树的性质,大体思想就是通过调整某种边的权值后生成一个最小生成树, 这个新树所分的结构是与原树2种边按此分法生成的最小生成树是最优的, 这样就转换成了一种枚举一种边增加的权值后的生成树的算法, 而且我们要找的是一个区间 http://oj.tsinsen.com/resources/Train2012-test-clj-tree.pdf #in原创 2012-07-24 17:07:56 · 1274 阅读 · 0 评论 -
dancing links X算法
hust 1017Exact cover就是knuth论文里拿来举例子的题, 算是精确覆盖的裸题了。#include #include /** 在01矩阵找一个行集合,使其精确覆盖所有的列所谓精确覆盖就是所有行中含1的列有且仅有一个,而重复覆盖允许有多个。**/const int maxn=100000+123;const int maxc=1000+5;int原创 2012-10-09 19:13:35 · 1485 阅读 · 0 评论 -
树链剖分
http://blog.sina.com.cn/s/blog_7a1746820100wp67.html 别人转的讲解, 看的这个学的。感觉不是必要的方法, 其他方法也能做的, 一般要维护树种路径的最值时才需要这个算法spoj375对边权的路径剖分#include #include #include #include #include using names原创 2012-08-25 10:47:40 · 921 阅读 · 0 评论 -
树形结构转换线性结构的方法(lca倍增)
这个讲的还不错的, 整理的很全 http://blog.youkuaiyun.com/lyhypacm/article/details/6734748hdu 3966dfs序是针对某条路径, 利用根到路径#include #include #include #include #include #include #include #include #includ原创 2012-08-18 20:05:11 · 1436 阅读 · 0 评论 -
hdu2586[lca离线tarjon算法][递归与非递归]
hdu2586[lca]tarjon 是离线的算法, 在线的话会有倍增法和rmq,其实这2个方法有一曲同工之妙#include #include #include #include using namespace std;const int maxn=100000+123;#define forg(p,x) for(p=x; ~p; p=edge[p].nex原创 2012-08-09 11:46:45 · 989 阅读 · 0 评论 -
斯坦纳树[全都floyd+状态dp]
http://endlesscount.blog.163.com/blog/static/821197872012525113427573/poj3123 这个只有30个节点, 直接floyd即可, 后面找最优解还是比较恶心的, 不过一共就2^4个状态,再 循环4次搞定, 老外还有一种神代码, 看了好久才懂不过最后看了别人的代码, 还有一种合并的方法http://blog.原创 2012-09-02 16:21:22 · 1568 阅读 · 0 评论 -
2sat[专题]
http://hi.baidu.com/joy32812/item/8d2c066065a2e92c68105b12http://www.cnblogs.com/ambition/archive/2011/07/30/2-sat.html 这个比较推荐照这个刷,这个2-sat就基本差不多了HDU 3062 Party 【裸题】 模版题#include #includ原创 2012-09-20 20:38:12 · 1758 阅读 · 0 评论 -
2011多校 dijkstra最短路变形
hdu Problem 3873 Invade the Mars对算法的理解还是不到位, 导致卡了一天!而且有个小地方, 就是dist是inf时, des有值的时候,时间不能取成des, 这个错误找了好久。。优先队列入队的时候并不是最优的解, 出队时满足dist【cur.u】>=cur.w才是最优解, 因此更新被限制节点时是要在出队时更新。#include #incl原创 2012-09-13 14:54:34 · 580 阅读 · 0 评论 -
2012网赛杭州赛区
1002 arrest有k个警察在0点按顺序遍历1到n去抓小偷, 这样构图时就要对编号小的连向编号大的, 之前要floyd处理。我赛后的构图:对每个点的遍历有个限制是必须是1次, 由于是费用流, 可以用将该流置为-inf的方法,强制改变访问一次。当时比赛时zzc的构图:跑k次网络流, 分别枚举1~k个警察情况下的最小费用, 也同样用了一个-inf的方法, 不过是加到了城市之间的连通原创 2012-09-25 20:21:09 · 1373 阅读 · 0 评论 -
2012 Multi-University Training Contest 8[hdu4370~4379]
4370 0 or 1就2种情况, 一种是1到n的最短路, 一种是包含1的环和包含n的环, 第一种情况直接sssp就好, 第二种比较好的处理方法就是枚举环的一个点, 然后用sssp得到的dist数组去求2个最小环, 相加即可,我的方法是再跑遍floyd, 不过要用dist优化一下, 提前排除不是最优解的情况, 1600ms水过#include #include #include原创 2012-08-16 18:24:26 · 764 阅读 · 0 评论 -
网络流【复习+总结】
把自己以前写的网络流解题报告和网络流算法再看下,在这里总结下,当复习了。sap算法, 目前我最常用的, 第一次学的时候代码就不太理解,只会贴模板,于是重新敲了下,当时第一题的链接:sap一些优化的思想http://blog.youkuaiyun.com/jxy859/article/details/6630182对于有些特殊的题目, 反而用sap会很慢, 比如一些n和m比较大,而U是一个较小的数,原创 2012-07-23 10:38:02 · 712 阅读 · 0 评论