自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

转载 ACM常用算法分类

数据结构        栈,队列,链表       •哈希表,哈希数组       •堆,优先队列              双端队列              可并堆              左偏堆       •二叉查找树              Treap              伸展树       •并查集              集...

2018-08-28 15:02:42 2092

原创 HDU - 5965 -- 扫雷

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=5965中文题面= =。我们考虑每一列,只可能安放0,1,2个雷。对于每一种情况,假如第一列的雷数确定了,那么后面的每一列都确定了,每一列的安放数量为num[i]=a[i-1]-num[i-1]+num[i-2]。但可能会出现不合题意的情况,因而需要检验a[n]是否满足题意。代码:#in...

2018-08-24 16:56:12 125

原创 HDU - 5691 -- 传递 O(n^2)做法

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=5961个人认为,这道题的时间限制应该改为1000ms,6000ms导致大量O( n^3 )的暴力代码就这样水过去了。思路:首先考虑,如果一个竞赛图存在环,那么它一定不满足传递性。对于P是这样,对于Q也是这样。如果存在一个环,其一部分有P中的边组成,另一部分由Q组成。若P满足传递性,则存在...

2018-08-23 22:33:57 186

原创 POJ - 3169 -- Layout

题目来源:http://poj.org/problem?id=3169思路来自:https://blog.csdn.net/mengxiang000000/article/details/52613328差分约束系统题目。题目要求即是求出an-a1的最大值。如果只考虑ml的情况,则可以推出:a1-a2<=k1;  --  1a2-a3<=k2;  --  2a1...

2018-08-22 20:53:02 99

原创 HDU - 3037 -- Saving Beans

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=3037题意:给你m个相同的bean和n棵不同的树,每棵树可以放也可以不放beans。问有多少种放的方案。思路:可以转化成m个相同的小球,n+1个不同的盒子的模型。n+1是因为这n棵树可以放不到m个小球,也就相当于一个新的盒子可以用来放小球。对于这类组合问题,我们可以采用插板法。首先有m个小球...

2018-08-19 09:47:43 427

原创 POJ - 3255 -- Roadblocks

题目来源:http://poj.org/problem?id=3255次短路模板题。Dijkstra算法实现。代码:#include <cstdio>#include <iostream>#include <queue>#include <cstring>#include <cstdlib>#include &lt...

2018-08-18 15:34:02 206

原创 HDU - 4118 -- Holiday's Accommodation

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=4118树形dp,思路来自:https://www.cnblogs.com/kiuhghcsc/p/5707140.html题意:给定一棵树,每个节点的人需要离开此节点到另一个节点,且任意两人不能到相同的节点,求经过的路程的最大值。思路:对于每条边<u,v>,其最多被经过的次数最多...

2018-08-17 14:27:05 143

原创 POJ 1319 -- Pipe Fitters

题目来源:http://poj.org/problem?id=1319结果为0的时候输出“grid”。实现详见代码:#include <cstdio>#include <cstring>#include <iomanip>#include <iostream>#include <algorithm>#include...

2018-08-14 20:06:41 195

原创 POJ-2676--Sudoku POJ-2918-- Tudoku

题目来源:http://poj.org/problem?id=2918  http://poj.org/problem?id=2676剪枝+位运算。优化策略:每行每列按照已填好的数量进行排序,优先填已经填过的多的,这样可以减少搜索的宽度。代码:#include <cstdio>#include <cstring>#include <iomanip...

2018-08-14 15:28:54 153

原创 Gym - 101666E -- Easter Eggs

题目来源:http://codeforces.com/gym/101666/attachments由于是求最小距离的最大值,因此很容易想到二分答案。在验证每一个值的过程中,我们可以将距离<mid的边保留,>mid的边删除,因此变成了求二分图的最大独立集的问题。相关概念及定理:https://blog.csdn.net/moon_sky1999/article/details...

2018-08-09 22:37:08 283

原创 ZOJ - 3195 -- Design the city

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3195给定一棵树,查询连通任意三点的路径的总长度。设给定的三点为x,y,z。三点之间的路径总长度=(lca(x,y)+lca(y,z)+lca(x,z))/2。代码:#include <cstdio>#include <cstr...

2018-08-09 21:08:51 150

原创 POJ - 1236 -- Network of Schools

题目来源:http://poj.org/problem?id=1236最开始做的时候理解错题意了QWQ,WA了几发。题目大意:给定一个有向图,第一问是选择部分的节点,以这些节点为起点可以遍历整个图,最少要选几个节点。第二问是问添加最少多少条边,使得以任意节点为起点,均可以遍历整个图。思路:先用tarjan求出整个图的所有强连通分量,对每个连通分量进行缩点,处理出缩点后的图。...

2018-08-09 16:52:42 97

原创 POJ - 2186 -- Popular Cows

题目来源:http://poj.org/problem?id=2186思路:先处理出所有的强连通分量,将所有的强连通分量染色,缩点,这样原图变成了一棵有向树。如果出度为0的节点有且仅有一个,则这个节点所对应的强连通分量就是所有满足题意的节点。代码:#include <cstdio>#include <cstring>#include <algorit...

2018-08-09 10:38:40 111

原创 HDU - 5015 -- 233 Matrix

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=5015思路来自:https://blog.csdn.net/u011721440/article/details/39401515假设a[0][0]=23,对于第一行的元素,a[i][0]=a[i-1][0]*10+3。a[i][1]=a[i-1][1]+a[1]a[i][2]=a[i-...

2018-08-08 20:51:46 112

原创 Gym - 101485E Elementary Math

题目来源:http://codeforces.com/gym/101485/attachments二分图匹配+离散化。WA了好多发:1.‘+’、‘*’运算得到的结果可能相同,不要忘了加else。2.数据会爆int,一定要用long long 匈牙利算法进行二分图匹配。代码:#include <bits/stdc++.h>using namespace...

2018-08-07 22:32:26 213

原创 POJ 2104 -- K-th Number

题目来源:http://poj.org/problem?id=2104平方分割做法。效率不是很高,TLE了好几次才勉强过去。注意在处理区间的时候最好要用左闭右开的区间。代码:#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#i...

2018-08-07 12:55:06 94

原创 POJ - 2187 -- Beauty Contest

题目来源:http://poj.org/problem?id=2187求凸包的模板题。由于坐标值不超过M的凸多边形的顶点数只有O(M)个,因而枚举就好。代码: #include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#includ...

2018-08-04 17:12:35 157

原创 POJ - 1127 -- Jack Straws

题目来源:http://poj.org/problem?id=1127判定线段相交+floyd。判定线段相交的模板来自《算法导论》P597。使用floyd处理出所有传递闭包(类似并查集,floyd更好写一些)。代码:#include <cstdio>#include <cstring>#include <iostream>#inclu...

2018-08-04 13:46:40 95

原创 POJ - 3111 -- K Best

题目来源:http://poj.org/problem?id=3111WA到怀疑人生系列的二分。。。思路来自POJ-Disscuss的:http://poj.org/showmessage?message_id=354940一定要注意跳出循环时保存的是可行解。eps的精度不要太高,可能会TLE。代码:#include <cstdio>#include <c...

2018-08-03 21:16:09 104

原创 HDU - 4027 -- Can you answer these queries?

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=4027由于数据均在63位数的范围之内,因此每个数计算平方根的次数不会超过6次。更新时统计每个区段的更新次数,若>6则不再执行。维护区间和即可。注意本题有坑,输入时每组数据的x和y可能会是x>y。来自HDU-Disscuss的数据:781 12 3 7 9 6 2650...

2018-08-03 20:40:32 111

原创 POJ - 3057 -- Evacuation

题目来源:http://poj.org/problem?id=3057由于题目是让求所需花费的最小时间,因此可以采用二分答案的方法,验证答案是否可行。可以采用最大流来验证是否存在方案。建图方法:假设有一个源点S,与图中所有的“.”相连,流量为1,图中所有的“.”与其所能到达的"D"相连,流量为1。图中所有的“D”与假设的汇点T相连,流量为二分的值mid,跑从S到T的最大流,如果最大...

2018-08-03 16:40:18 243

原创 Gym 101128F -- Landscaping

题目来源:http://codeforces.com/gym/101128/attachments思路来自:https://blog.csdn.net/rain722/article/details/68928211Ford-Fulkerson算法计算最大流。所有低点与大汇点相连,左右高点与大源点相连,流量为B,在任意相邻两点之间连一条流量为A的边。建图之后跑图的最小割即为所求。代...

2018-08-02 20:32:21 222 2

原创 POJ - 2135 -- Farm Tour (费用流SPFA实现)

题目来源:http://poj.org/problem?id=2135Dijkstra算法实现:https://blog.csdn.net/moon_sky1999/article/details/81360017抽象为每条边的费用为边的长度,流量为1,这样即是求1-n流量为2的最小费用流。代码:#include <cstdio>#include <iostr...

2018-08-02 15:48:17 155

原创 POJ - 2135 -- Farm Tour (费用流Dijkstra实现)

题目来源:http://poj.org/problem?id=2135SPFA算法实现:https://blog.csdn.net/moon_sky1999/article/details/81360328建图的过程中,每条边要存储四次(正向反向的正权边和正向反向的负权边),这样处理出来的图可以看作是不含负权边的图,因此可以使用Dijkstra算法来实现最小费用流。代码:#inc...

2018-08-02 15:36:41 268

原创 HDU - 1533 -- Going Home

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1533先添加两个点s和t(源点汇点),图中的所有m和H可以看成是点。建图过程:1.s与图中所有的m之间建一条流量为1,费用为0的边。2.图中所有的m与图中所有的H之间建一条流量为1,费用为dis(i,j)的边。dis表示两点之间的距离。3.图中所有的H与s之间建一条流量为1,费用为0...

2018-08-02 14:22:53 152

原创 POJ - 3469 -- Dual Core CPU

题目来源:http://poj.org/problem?id=3469由于maxm开小了,RE了好多发。另外,G++交的TLE了,用C++过的。最小割问题,由定理知,最小割=最大流,因此可用最大流Dinic算法解决。代码:#include <iostream>#include <cstring>#include <cstdio>#incl...

2018-08-02 10:13:10 177

原创 HDU - 3549 - Flow Problem (最大流模板题--Dinic算法实现)

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=3549代码:#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>#include <que...

2018-08-01 21:56:58 244

原创 POJ - 3281 -- Dining

题目来源:http://poj.org/problem?id=3281网络流建图,最大流问题。边的方向为:s->食物->牛->牛->饮料->t。将牛拆成两个顶点,之间连一条容量为1的边,这样避免了一头牛杯分配多组食物和饮料的方案,计算出图中的最大流即可。代码:#include <iostream>#include <cstri...

2018-08-01 20:43:12 161

原创 HDU - 3549 - Flow Problem (最大流模板题--Ford-Fulkerson算法实现)

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=3549代码:#include <bits/stdc++.h>#define ll long longusing namespace std;struct edge{ int to,next,cap,rev;}e[10010];bool vis[1010];int...

2018-08-01 19:47:45 136

原创 POJ - 3041 - Asteroids

题目来源:http://poj.org/problem?id=3041匹配的相关概念及定理见:https://blog.csdn.net/moon_sky1999/article/details/81331795可以等价为二分图中求最小顶点覆盖,由相关定理可得,最小顶点覆盖等于最大匹配,因此只需用匈牙利算法求出最大匹配即可。代码:#include <iostream>...

2018-08-01 16:09:06 99

原创 匹配的相关概念

 记图G=(V,E)。1.匹配:(边集)在G中两两没有公共端点的边集合ME。2.边覆盖:G中的任意顶点都至少是F中某条边的端点的边集合FE。3.独立集:(点集)在G中两两互不相连的顶点集合SV。4.顶点覆盖:G中的任意边都有至少一个端点属于S的顶点集合SV。 a.对于不存在孤立点的图,|最大匹配|+|最小边覆盖|=|V|。b.|最大独立集|+|最小顶点覆盖|=|V|...

2018-08-01 15:37:18 538

空空如也

空空如也

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

TA关注的人

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