Fushicho_XF的博客

摸鱼选手

ACM 算法竞赛总结及模板 ------ (网络流)

ISAP: 是基于分层思想的最大流算法,所不同的是,它省去了渐进时间复杂度和Dinic相同,但是非二分图的情况下isap更具优势。 理想情况下可达到 O(V^2*sqrt(E))------玄学 (优先使用ISAP算法) Poj -1273 Drainage Ditches (网络流-IS...

2018-08-21 17:33:16

阅读数:58

评论数:0

Poj - 2135 Farm Tour (网络流-最小费用最大流)

题目链接 题意:给出1~n点和m条无向边,要求从1走到n再从n回到1处的最小费用,要求每条边走过不超过1次 题解:可转换为求从1到n的流量f=2的最小费用流问题(不可先从左到右扫一遍最短路再删去使用过的边最后再次最短路回起点,只做到局部最优而非全局)最小费用最大流(Dijkstra+最大流算法...

2018-08-21 17:29:29

阅读数:46

评论数:0

Poj - 3281 Dining (网络流-Ford-Fulkerson)

题目链接 题意:求最多满意的牛数(同时有喜欢的food和drink). 题解:网络流建图然后套模板(最大流Ford-Fulkerson模板O(|F||E|) ) //左牛:0~n-1   右牛:n~2n-1 //food:2n~2n+F-1   drink:2n+F~2n+F+D-1 /...

2018-08-21 17:25:18

阅读数:22

评论数:0

Poj - 3281 Dining (网络流-Dinic)

题目链接 题意:求最多满意的牛数(同时有喜欢的food和drink). 题解:网络流建图然后套模板(最大流Dinic模板O(EV^2)) //左牛:0~n-1   右牛:n~2n-1 //food:2n~2n+F-1   drink:2n+F~2n+F+D-1 //S=2n+F+D   ...

2018-08-21 17:22:20

阅读数:21

评论数:0

Poj -1273 Drainage Ditches (网络流-ISAP)

题目链接 题意:给出m条路,n个点,每条路给出u,v,cap,求1~n的最大flow 题解:直接上ISAP,其实Dinic也可以.         这里使用的是最大流-ISAP模板(ISAP + 当前弧优化 + GAP优化)    代码如下: #include<i...

2018-08-21 17:17:53

阅读数:32

评论数:0

ACM 算法竞赛总结及模板 ------ (拓扑排序)

拓扑排序-邻接矩阵 HDU - 1285 确定比赛名次 (拓扑排序-邻接矩阵) (模板) 拓扑排序-邻接表 HDU - 2647 Reward (拓扑排序-邻接表) (模板) 拓扑排序-堆优化 Codeforces 919D Substring (拓扑排序-堆优化+ DP) (模板)...

2018-08-21 17:12:50

阅读数:125

评论数:0

Codeforces 919D Substring (拓扑排序-堆优化+ DP)

题目链接 题意:给出一个n和m,表示n个点m条边,再给出一个字符串s,s[i]表示第i个点的为小写字母c.         随后给出m行u,v表示单向边u->v.         求顺着任意路径走某个字母出现的次数的最大值,若存在环,则输出-1 Eg: input: ...

2018-08-21 17:06:09

阅读数:37

评论数:0

HDU - 2647 Reward (拓扑排序-邻接表)

题目链接 题意:给出一个n,表示有n个员工(1~n),再给出一个m,接下来m行输入一个a,b表示第a个人的工资比第b个人的工资高.老板给每个员工的最小工资为888,求老板的最小支出. 题解:只要(反向边建图)进行拓扑排序,逐渐删掉入度为0的点即可算出老板的最小支出 代码如下: #incl...

2018-08-21 16:57:40

阅读数:41

评论数:0

HDU - 1285 确定比赛名次 (拓扑排序-邻接矩阵)

题目链接 题意:给出一个n表示(1~n人)和一个m,下面m行输入a,b,表示a的排名比b高.         保证一定且只有一种结果----输出满足m组要求的字典数最小的排名顺序 题解:该题数据较小可试一手拓扑排序-邻接矩阵写法,不过要注意该题存在重边.(邻接表的话不用考虑重边的情况) 代...

2018-08-21 16:54:04

阅读数:51

评论数:0

HDU -1560 DNA (迭代加深搜索)

题目链接 题意:给出t组数据,n条DNA子串,要求求最小DNA母串的长度(如下图) 题解:由于直接bfs情况太多,会爆空间,直接dfs会爆栈,故采用折中操作. 代码如下: #include<iostream> #include&am...

2018-08-21 16:47:28

阅读数:36

评论数:0

A星算法解析 (搜索)

A*算法解析:       定义:           普通的搜索算法为盲目搜索           需要一种较为智能的方法来减少搜索的盲目性            A*算法是基于bfs算法改良的算法           引入估价函数对当前的搜索的形式进行估价           将队列改为优先队...

2018-08-20 16:45:47

阅读数:69

评论数:0

HDU - 1402 A * B Problem Plus (快速傅里叶变化-FFT)

题目链接 题意:给出一个a和b,长度不超过5e4,输出a*b的结果 题解:直接上一波快速傅里叶变化-FFT即可~ //以下模板为结构体内为快速傅里叶变换模板 //结构体外为借助该模板实现的高精度乘法计算 //以下为多项式相乘(高精度可以看作x=10的多项式相乘)的快速傅里叶变换的使用简述...

2018-08-20 16:41:47

阅读数:32

评论数:0

HDU - Pocket Cube (模拟+DFS)

题目链接 题意:给一个n,按下图顺序输入,求n次操作能转出最多多少个面. 题解:dfs模拟即可,不过需要剪枝,不然爆炸~//二阶魔方模板,三阶同理 代码如下: #include<iostream> #include<c...

2018-08-20 16:13:03

阅读数:35

评论数:0

SCU - 4438 Censor (哈希-字符串)

题目链接 题意:给出一个word字符串和一个page字符串,要求不断重复把p中所有w串删去.         输出最终结果(eg: w=abc p=aaabcbc  =>   ans=a    ) 题解:经典字符串哈希题目.(下面给出模板) 代码如下: #incl...

2018-08-20 15:46:41

阅读数:21

评论数:0

ACM 算法竞赛总结及模板 ------ (最短路)

最短路-Floyed Poj-1502 MPI Maelstrom (最短路-Floyed) 最短路-Dijkstra之邻接矩阵 POJ-2387 Til the Cows Come Home (最短路-Dijkstra之邻接矩阵) 最短路-Dijkstra堆优化版 CodeForc...

2018-08-20 15:28:43

阅读数:108

评论数:0

LightOJ-1074 Extended Traffic (最短路-Bellman_Ford存在负环)

题目链接 题意:给出t组样例,每组给出一个n,表示n个点,给出n-1组数据a[]表示每2~n地点上的人流量,下面给出m条路,路的权值为人流公式(a[i]-a[j])^3,故存在负环的情况,题目再给出一个q表示q次询问,询问起点1到x点的最短距离. 题解:不能用Dijsktra,只能用Bellm...

2018-08-20 15:17:15

阅读数:53

评论数:0

POJ-3259 Wormholes (Bellman-Ford判负环问题)

题目链接 题意:给出n个点,m条正权无向边,s条负权有向边,问是否存在负环. 题解:Bellman-Ford判负环问题,套一波模板. 代码如下: #include<iostream> #include<cstring&am...

2018-08-20 15:11:49

阅读数:21

评论数:0

POJ-2387 Til the Cows Come Home (最短路-Dijkstra之邻接矩阵)

题目链接 题意:给出m条边,n个点1~n,求1到n的最短距离,数据很小 题解:Dijkstra-邻接矩阵即可~ 代码如下: #include<iostream> #include<cstring> #...

2018-08-20 15:06:41

阅读数:41

评论数:0

CodeForces-20C Dijkstra? (最短路-Dijkstra堆优化版)

题目链接 题意:给出n个点,m条边,求1到n的最短距离的路径. 题解:,大数据,不可使用Dijkstra邻接矩阵和邻接表,都卡空间和时间,直接上堆优化的最短路模板即可~ 代码如下: #include<iostream> #include&...

2018-08-20 15:01:52

阅读数:55

评论数:0

Poj-1502 MPI Maelstrom (最短路-Floyed)

题目链接 题意:给出一个n和一个n-1行的下三角矩阵(表示距离,x=inf),求起点1到2~n个点的最短距离的最大值. 题解:数据很水故可以直接一波Floyed.(Floyed-最暴力的最短路算法O(n^3) ) 代码如下: #include<iostream&am...

2018-08-20 14:55:28

阅读数:40

评论数:0

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