2014.11.4 7:33 还有三天半就要NOIP,圈一下要背的知识点:一、数论1、素数判断2、筛法求素数3、求一个数的欧拉函数值4、预处理欧拉函数5、卡塔兰数递推式6、快速幂(模素数的乘法逆元)7、GCD二、图论1、最短路:①堆dijkstra ②spfa2、kruscal 最小生成树3、LCA...
分类:
其他好文 时间:
2014-11-05 22:48:19
阅读次数:
250
题目:poj 3177 & 3352
题意:大概意思就是给你一个无向图,让你添加最少的边,让所有点都双连通。
分析:双连通的定义就是任意两个点至少有两条路可达。
其实做法跟添加最少边强连通一样,先对图中已经双连通的缩点,然后重新编号。
这就是著名的Tanjan算法。
通过搜索的思想对所有存在环的边遍相同的号
如果要让所有的点双连通,那么对于缩点后的图中如果度数为 1 的...
分类:
其他好文 时间:
2014-11-04 22:47:28
阅读次数:
387
题目:poj 2553 The Bottom of a Graph
题意:大概题意是给出一个有向图,求强连通缩点以后出度为0的点。
分析:入门题目,先强连通缩点,然后表示出度为0的,枚举输出即可。
#include
#include
#include
#include
#include
using namespace std;
const int N = ...
分类:
其他好文 时间:
2014-11-04 19:50:21
阅读次数:
172
本题是06年百度之星半决赛的题目,图论的最小割问题,算是图论高级内容吧。
Stoer Wager算法,其中的难点是:
1 逐条边查找最大的边的权值-过程有点想Prime算法,不过实际上不是Prime算法,因为目的并不是最大生成树,而是需要把一个顶点的所有边都加起来,把这些边去掉,就是这个顶点的割点值了。那么就需要遍历整个图,到了最后一个节点才能保证是找到了这个节点的所有边。
2 缩点:所谓缩点就是把最后一个节点去掉,同时保留其边值信息,实际就是保留这个顶点的和其他顶点相连的最小边值。
比较难理解的,一般写这...
分类:
其他好文 时间:
2014-11-04 08:06:33
阅读次数:
273
2014.11.4 7:33 还有三天半就要NOIP,圈一下要背的知识点:一、数论1、素数判断2、筛法求素数3、求一个数的欧拉函数值4、预处理欧拉函数5、卡塔兰数递推式6、快速幂(模素数的乘法逆元)7、GCD二、图论1、最短路:①堆dijkstra ②spfa2、kruscal 最小生成树3、LCA...
分类:
其他好文 时间:
2014-11-04 08:05:37
阅读次数:
128
题目:hdoj 5093 Battle ships
题意:给你一个n*m的图,图中有冰山 ‘# ’,浮冰 ‘o’ 以及普通海 ‘ * ’,现在要在海中布置尽可能多的炮弹,炮弹不能突波冰山,不能让炮弹互相攻击到,问最大能不知多少个?
分析:二分图的经典题目,关键在于怎么建图,图进行两次编号,按行编号,每一行中能攻击到的一块编号成相同的数,每一列同样,然后对行和列有编号的地方进行连...
分类:
其他好文 时间:
2014-11-03 14:37:07
阅读次数:
243
题意:
一幅“随机图”定义为有如下性质的图:
有一个入口和一个出口
有向图
对于入口 出度比入度大1
对于出口 入度比出度大1
对于其他点 入度等于出度
现给出一幅有向图 每条边有2个决策——留下、扔掉 分别花费a和b 问 如果用最少的费用改造出“随机图”
思路:
网络流不错的题目 如果做过“混合图欧拉回路”(后文把这个问题成为p)那个zoj的题的话 这道题会有...
分类:
其他好文 时间:
2014-11-02 19:43:25
阅读次数:
237
二分图匹配总结
二分图匹配
1、二分图最大匹配,求两个集合内,每个元素只能用一次,两集合间存在一些匹配关系,求最大匹配多少对,利用匈牙利算法,对于每个结点不断去找增广路去匹配
有几个重要性质:
1、最小点覆盖 = 最大匹配
2、最大独立集 = 总结点 - 最大匹配
模板:
bool dfs(int u) {
for (int i = 0; i < g[u]....
分类:
其他好文 时间:
2014-11-02 19:42:12
阅读次数:
174
题意:戳这里思路:很明显是一个图论模型。。 就两种图形: 1、图中存在环,那么就是所有环的gcd为最大答案。gcd的大于3的最小约数为最小答案 2、不存在环,那么是每个弱连通块的最长链之和为最大答案,最小答案为3。。 但是这一题最关键的是实现,实现技巧太赞了。。 首...
分类:
其他好文 时间:
2014-11-02 00:35:49
阅读次数:
232
题目:在n*n的方格里,放入几个喷火器,他们会攻击同行、同列的点,问做多能放多少个。
分析:图论,搜索,二分图匹配。本题可以利用搜索求解,这里我使用的是二分图匹配。
建图,把原图每行每列的不同的连续区间分别看成一个新图中的点xi与yj;
则边表示原图中对应位置的点,原图中可以互相攻击的点就对应到新图中相同的xi与yj;
...
分类:
其他好文 时间:
2014-11-01 17:47:57
阅读次数:
159