代码介绍: 文件数据格式:点的数量,边的数量,源点序号,汇点序号 每条边:起点,终点,容量 从文件中读取数据,构建网络流图,使用dinic算法求解最大流,采用数组邻接表存储数据。 求最大流过程:不断找一条源点到汇点的路径,若有,找出增广路径上每一段权值的最小值,然后构建残余网络。再在残余网络上寻找新 ...
分类:
其他好文 时间:
2020-02-21 12:58:05
阅读次数:
82
#include <bits/stdc++.h> #include <stdio.h> #include <stdlib.h> #include <queue> using namespace std; const int N = 1111; vector<int> G[N];//邻接表 bool ...
分类:
其他好文 时间:
2020-02-11 11:40:20
阅读次数:
68
题目背景 缩点+DP 题目描述 给定一个 n 个点 m 条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大。你只需要求出这个权值和。 允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。 输入格式 第一行两个正整数 n,m 第二行 n 个整数,依次代表点权 第三至 m ...
分类:
其他好文 时间:
2020-02-10 13:23:36
阅读次数:
59
AOV拓扑排序实验总结-1 实验数据:1、实验输入数据在input.txt文件中2、对于n是指有顶点n个,数据的结束标志是一行0 0。 实验目的:获取优秀的AOV排序算法模板 数据结构安排:1、队列:负责记录入度为0且没有排序的AOV顶点2、邻接表结点:邻接表结点采用自定义的复合结构,保存顶点信息、 ...
分类:
编程语言 时间:
2020-02-09 18:27:15
阅读次数:
138
树的存储(邻接表)和深度优先遍历 //数组的邻接表存储 vector<int> q[maxn]; //这个是一般的 int fi[maxn]; //存储节点的儿子个数 int to[maxn]; //存储节点的具体每个儿子 int ne[maxn]; //指向该节点的下一个儿子 void link( ...
分类:
其他好文 时间:
2020-02-09 09:42:13
阅读次数:
90
前言: 图论乃noip之重要知识点,但有点难理解 本人因此吃过不少亏 因为本人实在太弱,所以此篇乃正宗<蒟蒻专属文章> 正文:(本文仅介绍图论中的重点、难点,其余部分略将或不讲) 图一般来说有二种存储方法:邻接矩阵和邻接表 邻接矩阵: 存储:拿二维数组来存 for(int i=1;i<=n;++i) ...
分类:
其他好文 时间:
2020-02-08 18:02:46
阅读次数:
84
试实现邻接表存储图的广度优先遍历。 函数接口定义: void BFS ( LGraph Graph, Vertex S, void (*Visit)(Vertex) ); 其中LGraph是邻接表存储的图,定义如下: /* 邻接点的定义 */ typedef struct AdjVNode *Ptr ...
分类:
其他好文 时间:
2020-02-08 17:46:51
阅读次数:
81
图的表示方式: 邻接矩阵 邻接表 图的代码实现:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import java.util.ArrayList;import... ...
分类:
编程语言 时间:
2020-02-04 14:03:54
阅读次数:
75
图的存储方式 在说最短路之前,先介绍一下图的几个存储方式:主要有vector、邻接表和链式前向星三种存储方式。其中会牵扯到稀疏图和稠密图的概念, 稠密图指点的个数的平方和边的个数是一个数量级的($n^2 ≈ m$) , 两者数量级类似别称为稀疏图 。 G[maxn]; for(int i=1;i f ...
分类:
其他好文 时间:
2020-02-02 15:31:23
阅读次数:
74
不难看出,这是一道图论的题,只要要求在$r$,的个数最小时,$r$的个数与文章长度。 预备知识 STL之 map (内置应该是hash之类的) tarjan 缩点 树形dp 简单字符串 邻接表存边 问题分析 由于同义是单向的,我们建起了单向边,容易的是,如果一个单词可以最后回到他自己,那就把这个环上 ...
分类:
其他好文 时间:
2020-02-01 21:31:00
阅读次数:
71