随笔分类 -  图论

最短路, 拓扑排序,最小生成树,tarjian, 二分图匹配
摘要:题目链接 #1381 : Little Y's Tree 题目链接 #1381 : Little Y's Tree 时间限制:24000ms 单点时限:4000ms 内存限制:512MB 描述 小Y有一棵n个节点的树,每条边都有正的边权。 小J有q个询问,每次小J会删掉这个树中的k条边,这棵树被分成 阅读全文
posted @ 2016-09-27 21:07 Running_Time 阅读(650) 评论(0) 推荐(0)
摘要:最短路+拆点 A As long as Binbin loves Sangsang 题意:从1走到n,每次都是LOVE,问到n时路径是连续多个"LOVE"的最短距离.秀恩爱不想吐槽. 分析:在普通的最短路上有寻路的限制,把一个点看成4个点,表示通过某一个字符到该点的最短距离.注意自环的处理,还有距离 阅读全文
posted @ 2016-05-19 17:46 Running_Time 阅读(231) 评论(0) 推荐(0)
摘要:容斥原理 A Number Sequence 题意:给出n个数,b1,b2,b3……bn,构造n个数,a1,a2,……an(ai>1),使得a1*a2*a3……an=b1*b2……bn 分析:容易想到的是将bi分解质因数,然后记录每个质因数的个数。那么题目变成:对于(每个质因数个数为m个划分到n个不 阅读全文
posted @ 2016-05-05 22:15 Running_Time 阅读(195) 评论(0) 推荐(0)
摘要:终于又回到熟悉的Round了 数学 A - Pouring Rain 设个未知数,解方程,还好没有hack点 数学 B - Coat of Anticubism 题意:求增加最小长度的一根木棍,使得构成一个多边形。 分析:那么构成三角形,原来n条木棍分成A,B两边,A和B接近(A<=B),那么另一条 阅读全文
posted @ 2016-04-30 14:50 Running_Time 阅读(247) 评论(0) 推荐(0)
摘要:前4道水题就不说了,其中我做了C题,1Y,小心仔细写代码并且提交之前得确认无误后提交才能减少出错率。 结果后面2题都由波神做掉,学长带我们飞~ 终榜 官方题解 ZOJ 3946 Highway Project(K题) 题意:求到所有点最短花费时间总和以及在这前提下的走过的路的最小花费金钱 分析:首先 阅读全文
posted @ 2016-04-25 22:01 Running_Time 阅读(229) 评论(0) 推荐(0)
摘要:题目链接 题意:两个队伍,有一些边相连,问最大组对数以及最多女生数量 分析:费用流模板题,设置两个超级源点和汇点,边的容量为1,费用为男生数量.建边不能重复建边否则会T.zkw费用流在稠密图跑得快,普通的最小费用最大流也能过,只是相对来说慢了点. 阅读全文
posted @ 2016-04-13 15:35 Running_Time 阅读(281) 评论(0) 推荐(0)
摘要:先贴代码 最大流-Dinic 最小费用最大流(SPFA) 阅读全文
posted @ 2016-04-13 11:12 Running_Time 阅读(136) 评论(0) 推荐(0)
摘要:前三题水 A B C 几何(叉积) D - Bicycle Race 题意:一个人从最下面的位置逆时针沿着湖转一圈,当转角指向湖的方向认为是危险的,问有多少个危险的转角. 分析:分类讨论也就四种情况,但是注意出发点不一定是最左边的(最下面的);也可以用叉积来判断,大于0表示是顺时针满足危险的定义. 阅读全文
posted @ 2016-04-05 08:15 Running_Time 阅读(299) 评论(0) 推荐(0)
摘要:组合 1001 LCP Array 第一题就小难,出题的好像是浙大的大牛? 找到一个规律:a[i] = x, s[i..i+x]都想同。a[i] = a[i+1] + 1 (a[i] > 0),否则就是与后一个颜色不同,方案*25。第一次颜色相同的26种方案。 最短路 1002 Shortest P 阅读全文
posted @ 2016-03-17 15:43 Running_Time 阅读(188) 评论(0) 推荐(0)
摘要:DFS A - Joysticks 嫌麻烦直接DFS暴搜吧,有坑点是当前电量<=1就不能再掉电,直接结束。 构造 + 贪心 B - Beautiful Paintings 每次取出不重复的递增序列,直到集合为空 数学 + 容斥 C - Watchmen 化简公式得到找到pair (i, j) xi 阅读全文
posted @ 2016-03-09 14:42 Running_Time 阅读(257) 评论(0) 推荐(0)
摘要:暴力 A - Ebony and Ivory import java.util.*; import java.io.*; public class Main { public static void main(String[] args) { Scanner cin = new Scanner (n 阅读全文
posted @ 2016-02-29 16:25 Running_Time 阅读(275) 评论(1) 推荐(0)
摘要:居然补完了 组合 A - Far Relative’s Birthday Cake import java.util.*; import java.io.*; public class Main { public static void main(String[] args) { Scanner c 阅读全文
posted @ 2016-02-23 13:29 Running_Time 阅读(238) 评论(0) 推荐(0)
摘要:1001 Rikka with Chess ans = n / 2 + m / 2 1002 Rikka with Graph 题意:n + 1条边,问减去至少一条使剩下的图连通的方案数。 分析:原来暴力选一条或两条就行了,脑子笨了。判连通用BFS或并查集,此题并查集更好 #include <cst 阅读全文
posted @ 2016-02-21 19:35 Running_Time 阅读(172) 评论(0) 推荐(0)
摘要:题目传送门题意:有两种关系,n牛按照序号排列,A1到B1的距离不超过C1, A2到B2的距离不小于C2,问1到n的距离最大是多少.如果无限的话是-2, 如果无解是-1分析:第一种可以写这样的方程:d[v] - d[u] = w2 => d[u] - d[v] #include #include #i... 阅读全文
posted @ 2015-12-01 15:29 Running_Time 阅读(269) 评论(0) 推荐(0)
摘要:题目传送门题意:题目巨晦涩的传递出1点和n点的初度等于入度等于1, 其余点出度和入度相等分析:求最小和可以转换成求最短路,这样符合条件,但是还有一种情况.1点形成一个环,n点也形成一个环,这样也是可以的,这样SPFA要稍微修改点,d[s] = INF,表示可以更新.#include using na... 阅读全文
posted @ 2015-12-01 14:44 Running_Time 阅读(187) 评论(0) 推荐(0)
摘要:题目传送门题意:求A到B不同最短路的条数(即边不能重复走, 点可以多次走)分析:先从A跑最短路,再从B跑最短路,如果d(A -> u) + w (u, v) + d (B -> v) == shortest path,那么这条边就是有用边(在最短路中),利用这个性质重新建最大流的图,然后增广路算法D... 阅读全文
posted @ 2015-12-01 14:38 Running_Time 阅读(205) 评论(0) 推荐(0)
摘要:Problem Statement You are a genealogist specializing in family trees of vampires. Vampire family trees differ from human family trees. In particular, 阅读全文
posted @ 2015-12-01 14:19 Running_Time 阅读(217) 评论(0) 推荐(0)
摘要:题目传送门题意:有两种路径,每个点会分别在某一层,层相邻之间权值c.还有直接两点传送,花费w.问1到n的最短距离.分析:1~n正常建边.然后n + a[i]表示i点在第a[i]层.然后再优化些就不会超时了.#include #include #include #include using names... 阅读全文
posted @ 2015-11-30 22:02 Running_Time 阅读(224) 评论(0) 推荐(0)
摘要:题目传送门题意:收过路费.如果最后的收费小于3或不能达到,输出'?'.否则输出到n点最小的过路费分析:关键权值可为负,如果碰到负环是,小于3的约束条件不够,那么在得知有负环时,把这个环的点都标记下,DFS实现.#include #include #include #include using nam... 阅读全文
posted @ 2015-11-30 21:50 Running_Time 阅读(241) 评论(0) 推荐(0)
摘要:题目传送门题意:这题题目难懂.问题是A到B最少要转换几次城市.告诉每个城市相连的关系图,默认与第一个之间相连,就是不用转换,其余都要转换.分析:把第一个城市权值设为0, 其余设为0.然后Floyd跑一下,得到A到B最少转换几次.有点水#include #include #include using ... 阅读全文
posted @ 2015-11-30 21:42 Running_Time 阅读(202) 评论(0) 推荐(0)