图论500题大礼包

\\============================以下是最小生成树+并查集====================================== 【HDU】 1213 How Many Tables 基础并查集★ 1272 小希的迷宫 基础并查集★ 1325&am...

2018-07-21 12:05:43

阅读数 152

评论数 0

比赛算法模板 持续更新。。。

        先来个大礼包图论500 题 一、最短路 1、链式前向星spfa #include <iostream> #include <algorithm> #include &am...

2018-05-01 21:29:02

阅读数 94

评论数 1

HDU - 3715 Go Deeper 二分 + 2-SAT tarjan

题意:给你一个递推式,问你最多能循环几层? go(int dep, int n, int m)  begin  output the value of dep.  if dep < m and x[a[dep]] + x[b[dep]] != c[dep] then go(...

2018-08-05 16:39:06

阅读数 34

评论数 0

HDU - 3622 Bomb Game 二分 + 2 - SAT tarjan

题意:有一个有趣的游戏,每一轮给定两个点,只能且必须在一个点上面放置炸弹,炸弹的爆炸范围是任意的,但是任意两个炸弹的爆炸范围不能相交,在n轮游戏过后,得分为最小爆炸范围的半径,求n轮游戏之后的最大可能得分。 题目为每次只能在两个里选一个,是2-SAT模型,又所求的为最大化最小值,所以用二分。 ...

2018-08-05 15:36:59

阅读数 37

评论数 0

HDU - 1824 Let's go home 2 - SAT 问题 tarjan

题意:中文题。 把每一队看成是一组,队长为 i << 2, 队员都为 i << 2 | 1, 这样就能转化为2 - SAT问题。 2-SAT问题最主要的就是一组里有对立的两个元素,通过他们的belong去判...

2018-08-05 11:23:05

阅读数 37

评论数 0

HDU - 3062 Party 2-SAT问题 tarjan 模板

题意:中文题,有n对夫妻被邀请参加一个聚会,因为场地的问题,每对夫妻中只有1人可以列席。在2n 个人中,某些人之间有着很大的矛盾(当然夫妻之间是没有矛盾的),有矛盾的2个人是不会同时出现在聚会上的。有没有可能会有n 个人同时列席? SAT是适定性(Satisfiability)问题的简称 。一般...

2018-08-04 13:06:04

阅读数 55

评论数 0

POJ - 2942 Knights of the Round Table 二分图染色 点双连通分量 tarjan模板

题意:亚瑟王要在圆桌上召开骑士会议,为了不引发骑士之间的冲突,  并且能够让会议的议题有令人满意的结果,每次开会前都必须对出席会议的骑士有如下要求:  1、 相互憎恨的两个骑士不能坐在直接相邻的2个位置; 2、 出席会议的骑士数必须是奇数,这是为了让投票表决议题时都能有结果。 注意:1、所给出的憎...

2018-08-03 18:51:57

阅读数 42

评论数 0

POJ - 3352 Road Construction、 POJ - 3177 Redundant Paths 边双连通分量 tarjan模板

割点、桥定义 设G是一个图,v是G的一个顶点,如果G-v的连通分支数大于G的连通分支数,则称v是G的一个割点。 设G是一个图,x是G的一条边,如果G-x的连通分支数大于G的连通分支数,则称x是G的一个桥,或割边。  双联通分量 双连通分量又分点双连通分量和边双连通分量两种。若一个无向图中的去...

2018-08-03 15:45:03

阅读数 36

评论数 0

HDU - 3861 The King’s Problem 强连通分量Tarjan+缩点+最小路径覆盖

题意:国王想在他的城市中建立一些州,在两个城市之间,如果互相可达,它们必须在同一个州,在同一个州里的城市要满足可以从u->v或v->u;问最少要建立几个州?输入t,n和m表示城市数和单向道路数,接下来m行表示从a->b有一条单行道。...

2018-07-31 18:13:10

阅读数 65

评论数 0

AtCoder - 3535 Restoring Road Network 类 floyd求最短路径和

题意: 给你n*n的图,判断是不是满足任意两点都是最短路,满足的话输出所有的最短路径和。 一开始写的时候想错方向了,求了1~n最短路。。。。。。 链接:Atcoder - 3535 代码: #include <iostream> #includ...

2018-07-31 14:05:54

阅读数 32

评论数 0

HDU - 3072 Intelligence System 强连通分量Tarjan

题意:kzc_tc得到一个情报,要把这个情报传给系统的每一个人,编号0~n-1, kzc_tc编号为0。情报的传递是单向的,需要一些花费,如果两个人可以直接或间接相互传递信息的话不需要花费,下面给你n个人,m条传递关系,a,b,c表示a传给b需要花费c,问最少花费。 求出所有的强连通分量,那么内...

2018-07-31 10:37:33

阅读数 39

评论数 0

HDU - 1827 Summer Holiday 强连通分量Tarjan+缩点

题意:中文题,传递的最小费用 求出所有的强连通分量, 然后缩点, 最后看所有入度为0的强连通分量,这些是要通知的, 选出一个费用最少的求和就好了 链接:hdu- 1827 #include <iostream> #include &amp...

2018-07-31 09:56:36

阅读数 34

评论数 0

HDU - 2767 Proving Equivalences && HDU - 3836 Equivalent Sets 强连通分量Tarjan+缩点

题意:给你n个点,m条边,问最少要加几条边让整个图变成强连通 首先,找出强连通分量,然后把每个强连通分量缩成一个点(缩点),得到一个DAG。 接下来,设有a个结点的入读为0, b个结点的出度为0, 则 max{a, b}就是答案。 注意特殊情况: 当原图已经强连通时, 答案是0而不是1. 一个...

2018-07-30 15:57:02

阅读数 31

评论数 0

HDU - 3585 maximum shortest distance 最大团高效模板 + 二分

题意: 从n个点中选取k个点,使得在选取的所有边的距离中最短的最长,求出这个距离。 如果看成一个图的话就可以全部连边成完全图,就可以二分答案用最大团去做。 图论真的是模板效率重要哇,刚一开始我的板子一直t。。。 链接:hdu - 3585 AC代码: /* 最大团 = 补图G的最大独立...

2018-07-30 12:55:16

阅读数 41

评论数 0

HDU - 1522 Marriage is Stable && HDU - 1914 The Stable Marriage Problem 稳定婚姻问题,可做模板

题意:裸的稳定婚姻问题,不过这个题的输入是字符串,要处理一下。 链接:hdu - 1522 AC代码: #include <iostream> #include <algorithm> #include...

2018-07-29 09:57:10

阅读数 36

评论数 0

hdu - 1435 Stable Match 稳定婚姻问题、Gale-Shapley算法模板

稳定婚姻的描述:                 假如你是一个媒人,有若干个单身男子登门求助,还有同样多的单身女子也前来征婚。如果你已经知道这些女孩儿在每个男孩儿心目中的排名,以及男孩儿们在每个女孩儿心中的排名,你应该怎样为他们牵线配对呢?         最好的配对方案当然是,每个人的另一半...

2018-07-28 14:40:58

阅读数 40

评论数 0

hdu - 1530 Maximum Clique 最大团模板

给定无向图G=(V,E),其中V是非空集合,称为顶点集;E是V中元素构成的无序二元组的集合,称为边集,无向图中的边均是顶点的无序对,无序对常用圆括号“( )”表示。 如果U  V,且对任意两个顶点u,v∈U有(u,v)∈E,则称U是G的完全子图。G的完全子图U是G的团。G的最大团是指G的最大完全...

2018-07-28 10:28:42

阅读数 63

评论数 0

14 高斯消元

       数学上,高斯消元法(或译:高斯消去法),是线性代数规划中的一个算法,可用来为线性方程组求解。但其算法十分复杂,不常用于加减消元法,求出矩阵的秩,以及求出可逆方阵的逆矩阵。不过,如果有过百万条等式时,这个算法会十分省时。一些极大的方程组通常会用迭代法以及花式消元来解决。当用于一个矩阵时...

2018-07-27 18:16:17

阅读数 28

评论数 0

13 算数基本定理(唯一分解定理)

算术基本定理可表述为: 任何一个大于1的自然数  ,都可以唯一分解成有限个质数的乘积  , 这里  均为质数,其诸指数  是正整数。 这样的分解称为  的标准分解式。 定理应用:  贴上代码: #include<bits/stdc++.h&amp...

2018-07-26 20:03:46

阅读数 54

评论数 0

12 逆序数

 利用归并排序求解 归并排序的主要思想是将整个序列分成两部分,分别递归将这两部分排好序之后,再和并为一个有序的序列。   在合并的过程中是将两个相邻并且有序的序列合并成一个有序序列,如以下两个有序序列 Seq1:3  4  5 Seq2:2  6  8  9 合并成一个有序序: Se...

2018-07-26 18:09:10

阅读数 23

评论数 0

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