
图论
文章平均质量分 63
squee_spoon
这个作者很懒,什么都没留下…
展开
-
hdoj 5765 Bonds
设AA为nn个点的非空真子集,UU为全集。枚举无序对(A,U−A)(A,U-A),如果AA和U−AU-A内的点都连通(关于连通性的判定,需要使用比较快的bfs方法),那么连接这两个集合的边是图的一个割。首先统计所有割的总数tottot,然后对于每个(A,U−A)(A,U-A)对应的割,AA内部的边和U−AU-A内部的边显然不在割中,dp计算每条边不在多少个割中即可,tottot减去它就是答案。#in原创 2016-08-02 00:10:32 · 406 阅读 · 0 评论 -
Codeforces Round #257 (Div. 2) D
D. Jzzhu and Cities 题意:n个城市,首都在城市1,城市之间有n条公路和k条铁路(铁路一端必为首都)连接。问最多能够撤掉多少条铁路,使得首都到所有城市的最短路不增加。 思路:这个题我用了各种方法,比如先用公路求最短路,然后贪心加入铁路,不是WA就是TLE。。然后看了别人的题解,方法是跑一遍最短路(优先选择公路),记录每个点的前驱边,原创 2015-01-14 14:12:15 · 603 阅读 · 0 评论 -
Codeforces Round #267 (Div. 2) D
D. Fedor and Essay 题意:一篇文章由m个单词组成,你需要重写这篇文章。有n组同义词(x,y),x能用y代替,反过来不行。重写文章使得文章中含有最少的'r',且总字符数尽量少。 思路:先把所有大写字母转换成小写,然后用map把每个不同的单词转化成一个整型,建图,再用tarjan强连通缩点(因为可能有环)。。然后在缩点后的新图中dfs求解(原创 2015-01-11 23:03:08 · 676 阅读 · 0 评论 -
hdu 3572 Task Schedule
题意:原创 2014-11-24 19:58:12 · 500 阅读 · 0 评论 -
hdu 4786 Fibonacci Tree
题意:给一个图,有些边是bai原创 2014-10-31 16:51:11 · 458 阅读 · 0 评论 -
hdu 5093 Battle ships
题意:原创 2014-11-04 21:11:37 · 543 阅读 · 0 评论 -
poj 1149 PIGS
题意:有m个猪圈,主人mei'y原创 2014-11-04 15:47:26 · 462 阅读 · 0 评论 -
poj 3255 Roadblocks
题意:一个无向图,求1~n的严格次短路。原创 2014-11-13 15:13:03 · 434 阅读 · 0 评论 -
hdu1878 欧拉回路
思路:此题考察无向图欧拉回路li原创 2014-09-30 16:19:41 · 494 阅读 · 0 评论 -
hdu3018 Ant Trip
题意:给一个无向图,每条边只能经过一次,问多少笔能将图画完。原创 2014-09-30 19:20:11 · 519 阅读 · 0 评论 -
zoj 2314 Reactor Cooling
题意:原创 2014-11-10 16:33:54 · 481 阅读 · 0 评论 -
UVa11248 - Frequency Hopping
题意:给定一个有向网络,每条边均有一个容量。问是否存在一个原创 2014-10-08 19:02:22 · 462 阅读 · 0 评论 -
UVa10129 Play on Words
题意:输入n个单词,原创 2014-09-03 20:03:33 · 472 阅读 · 0 评论 -
Codeforces Round #284 (Div. 1) C
C. Array and Operations 题意:有n个数,a1~an;m对数i1/j1~im/jm(ik+jk为奇数)。每次操作取出其中一对ik/jk,使a[ik]和a[jk]同时除以一个不为1的正整数v。问最多能够进行几次操作。 思路:很容易得出,每次操作的v越小,接下来还能进行的操作就越多,进一步得出,v应该选择素数。因为每对数的和是奇数,原创 2014-12-30 14:21:34 · 520 阅读 · 0 评论 -
Codeforces Round #287 (Div. 2) E
E. Breaking Good 题意:一个无向图,边长度都是1,有些边是失效的。现在需要找一条从1到n的最短路径,路径上失效的边需要修改为有效的,非路径边如果有效要修改为失效的。输出需要修改的边,使得修改量最少。 思路:问题很容易转化为求最短路,路径上的有效边尽可能多。方法是先SPFA求每个点到点1的距离,然后再次SPFA计算点1到每个点的最短路径原创 2015-01-25 01:03:17 · 688 阅读 · 0 评论 -
poj 1330 Nearest Common Ancestors
给一棵树,和两个点,求这两个点的最近公共祖先(LCA)。刚学完在线算法,再来学个离线的。。但是这个题的查询只有一次,感觉有点浪费了,不管怎么样写法还是一样的:tarjan。 tarjan其实就是一次dfs。利用并查集,在每个节点访问完的时候,把它的祖先置为它的父节点(也就是访问完一棵子树时,树上所有点都在一个集合),然后集中处理与这个节点有关的询问,如果另外一个点已经被访问过了,原创 2015-03-01 23:11:50 · 427 阅读 · 0 评论 -
2016 计蒜之道 复赛 A
这场比赛对我来说最有价值就是这题。。读完题肯定会有一个朴素的想法,枚举不能使用的kk跑nn次floyd,也就是O(n4)O(n^4)的复杂度,无法通过。实际上,在跑那么多次floyd的时候,有很多操作是不必要的。所以可以分治来做,每次kk只能取一半的值,剩下的递归处理,递归到kk只有一个值没取,这样就避免了重复操作,优化到了O(n3log(n))O(n^3log(n))。#include <bits原创 2016-07-04 08:06:38 · 546 阅读 · 0 评论 -
zoj 2342 Roads
在最优策略中,我们只会减少石头路的费用,增加烂泥路的费用,设这个改变量为l(x)l(x)。由于前n−1n-1条边是生成树,对第nn~mm条边中的每一条,它的加入会形成一个圈。在最优解的情况下,圈中的任意一条石头路费用不大于烂泥路的费用。把石头路看作二分图的X部,烂泥路看作Y部,可以得到关于改变量l(x)l(x)的不等式。这个模型直接套二分图最优匹配就行,求出的可行顶标就是改变量。 KM算法还是原创 2016-04-29 23:39:04 · 403 阅读 · 0 评论 -
TopCoder SRM687 div1 500
题意是已知一个无向图所有点对间的最小割,构造一个合法的原图。 看了题解得知有个叫Gomory-Hu tree的东西,即最小割树。解题要点是,你要知道一个图的所有点对最小割,一定能用一棵树做到。于是我们的目标变为构造这样一棵树。 我们可以用分治法,不断把当前点集划分为两个点集,其中两个点集的点之间流量是当前最小,不断分治直到集合只剩一个点。#include <bits/stdc++.h>原创 2016-04-13 21:59:30 · 643 阅读 · 0 评论 -
hnuoj 13103 Easy Delete
题目链接 先不管不能删的文件,我们可以把出现文件的行看作二分图的X部,列看作二分图的Y部,文件则是边。删除所有文件,其实就是求图的最小点覆盖,也就是最大匹配。于是解法就是先处理与不能删文件处在同一行、列的情况,然后跑最大匹配。#include<vector>#include<set>#include<map>#include<algorithm>#include<iostream>#in原创 2016-04-09 06:46:10 · 499 阅读 · 0 评论 -
hdoj 5636 Shortest Path
题目 如果不考虑6个特殊点,两点间距离就是下标差。但是这6个点的存在有可能缩短了两点间距离,所以跑一下6个点到所有点的最短路(6*6*n的floyd),对于每个询问,算一下直接s-t和s-6个点中的某个-t的最小值即可。#include #include #include #include #include #include #includ原创 2016-03-06 15:36:55 · 297 阅读 · 0 评论 -
Codeforces Round #Pi (Div. 2) E
一个有向图,s为起点,t为终点,问每条边是否在唯一的最短路上。 对s和t分别求一次单源最短路(dijkstra),顺便记录方案数。然后对每条边检查,长度符合的话,就说明在最短路上,如果方案数也符合,就是唯一的。这个方案数可能很大,所以需要取模,并靠人品AC(1e9+7被卡掉了)。#include using namespace std;#define ll long l原创 2015-08-08 00:59:09 · 438 阅读 · 0 评论 -
hdu 5348 MZL's endless loop
给一个无向图(其实是有向的,但是没有指定边的方向),你需要指定边的方向,使得每个点入度和出度相差不超过1。 其实就是找许多条路径,合起来能走完这个图。。先统计各个顶点的度,度为奇数必是起点或终点,否则是中间点或者同为起点和终点。邻接表建图(建双向),先从每个奇数度顶点出发找路径,再从偶数度顶点出发找路径,经过的边要删去不然超时。#include #include #inc原创 2015-08-04 20:56:47 · 832 阅读 · 0 评论 -
Codeforces Round #311 (Div. 2) D
D Vitaly and Cycle 无向图,n个点m条边。问至少添加几条边,使得图有奇环(不能是单个点),有几种添加方法。 这里用到了一个很重要的定理:二分图没有奇环。给图染色判断是不是二分图。然后分类讨论。#include using namespace std; #define ll long longconst int m原创 2015-07-20 21:50:28 · 541 阅读 · 0 评论 -
hdu 5215 Cycle
一个无向图,问有没有奇偶环。 注意这里如果两个奇环仅共点,合起来算偶环。。敲了一个染色的做法,因为染色的时候,只可能遗漏偶环(由奇环拼成的偶环),因此我们每次找到奇环,给环上的点打标记,如果有点被打了两次标记,说明存在偶环。//#include #pragma comment(linker, "/STACK:102400000,102400000")#include #原创 2015-08-08 17:26:34 · 561 阅读 · 0 评论 -
poj 1422 Air Raid
最小路径覆盖裸题。最小路径覆盖就是一个最小的路径的集合,这些路径经过了图中所有的点各一次。做法是把点复制一份,成为X部和Y部,边永远从X连向Y。然后跑一遍匈牙利算法,结果就是原顶点数-最大匹配。#include #include #include using namespace std;const int maxn=125;int tote; int head[m原创 2015-04-28 09:32:34 · 515 阅读 · 0 评论 -
hihoCoder 1158 质数相关
http://hihocoder.com/problemset/problem/1158描述两个数a和 b (a输入第一行为一个数T,为数据组数。之后每组数据包含两行。第一行为N,为集合S的大小。第二行为N个整数,表示集合内的数。输出对于每组数据输出一行,形如"Case #X: Y"。X为数据编号,从1开始,Y为最大的子集的大小。原创 2015-04-27 17:13:12 · 771 阅读 · 0 评论 -
NOIP 提高组2014 联合权值
好久不发博客了,学弟挂了一组NOIP的题,第一次做这种赛制。。 这个题是求一棵树上,所有距离为2的点对的点权的乘积的和,以及所有距离为2的点对的点权的乘积的最大值。开始用暴力写的,发现在一种特殊的情况下,所有点都和一个点相邻,复杂度就会达到平方,就会超时。 经过优化后的做法是这样的。首先把树转为有根树,记录每个点的父亲,和所有孩子。一个点的任意两个孩子之间的距离原创 2015-04-11 17:29:11 · 960 阅读 · 0 评论 -
UVa10305 Ordering Tasks
题意:n个任务,m组顺序要求,输出一组任务原创 2014-09-03 16:07:41 · 504 阅读 · 0 评论 -
UVa1599/poj 3967 Ideal Path
题意:一个连通的无向图有n个dian,从点1走到点n原创 2014-09-15 18:38:24 · 837 阅读 · 2 评论 -
Codeforces Round #264 (Div. 2) D
D. Gargari and Permutationst原创 2014-08-31 09:46:05 · 505 阅读 · 0 评论 -
UVa558-Wormholes
题意:宇宙中有n个星系,m个虫洞,通过虫洞能到达另一个星系()原创 2014-06-12 10:27:17 · 521 阅读 · 0 评论 -
UVa10801 - Lift Hopping
题意:一栋摩天楼(0~99层)有原创 2014-06-11 22:26:57 · 596 阅读 · 0 评论 -
UVa515-King
题意:一个王国,王子智力非常低,经过学习,才知道integer。原创 2014-06-13 11:27:29 · 654 阅读 · 0 评论 -
UVa10099-The Tourist Guide
题意:N个城市R条路,每条路有tong'g原创 2014-06-10 10:46:04 · 503 阅读 · 0 评论 -
UVa658 - It's not a Bug, it's a Feature!
题意:发布的软件有n个bug,m个补丁。。原创 2014-06-09 19:20:38 · 611 阅读 · 0 评论 -
UVa10397 Connect the Campus
题意:平面坐标系中有N个点,其中原创 2014-06-07 10:31:48 · 533 阅读 · 0 评论 -
UVA567 Risk
题意:给一个图,图中所有边权值都为1,求任意两个顶点之间原创 2014-06-06 20:41:12 · 675 阅读 · 0 评论 -
UVa10369 Arctic Network
题意:坐标系中,有P个前哨站,原创 2014-06-07 13:53:27 · 512 阅读 · 0 评论 -
UVa10048 Audiophobia
题意:城市中有C个路口,原创 2014-06-07 00:17:04 · 552 阅读 · 0 评论