图论题目,需要解决问题:
1 使用Tarjan算法求子强连通图
2 标识顶点属于哪个子强连通图
3 计算各个子强连通图的零入度数和零出度数
图论中高级内容了,是有点难度的,不细心一点肯定会出错的。
这次本博主认真注解好几乎每个语句,希望大家可以follow我的程序。...
分类:
Web程序 时间:
2014-10-26 17:01:42
阅读次数:
252
题意 中文
最基础的最短路 注意边可能多次给出 取最小的
#include
#include
using namespace std;
const int N = 205, M = 1005;
int mat[N][N], v[N], d[N], n, m, s, t;
void dijkstra()
{
memset(d, 0x3f, sizeof(d));
mems...
分类:
其他好文 时间:
2014-10-26 16:57:52
阅读次数:
175
2014-10-2515:13:56暑假打(luan)完(gao)了基础,是时候做一下下一步的规划了。 codeforces #190-#199 图论--基础(割顶、割边、连通性等) 图论--二分图及二分图匹配 图论--差分约束 树结构--BST 树结构--LCA 树结构--树分治 ...
分类:
其他好文 时间:
2014-10-25 15:47:45
阅读次数:
240
题意 有n辆卡车 每辆卡车用7个字符表示 输入n 再输入n行字符 第i行与第j行的两个字符串有多少个对应位置的字符不同 i与j之间的距离就是几 求连接所有卡车的最短长度 题目不是这个意思 这样理解就行了
prim啦啦啦啦
#include
#include
using namespace std;
const int N = 2005;
int cost[N], dis[N]...
分类:
其他好文 时间:
2014-10-24 20:49:34
阅读次数:
225
昂神的解题报告:http://sd-invol.github.io/2014/10/22/Anshan-2014-G/
我来对他的话进行翻译就好了…
之所以看出最小割 是因为每个位置有两种方案 这样形成二分图后 我们要进行决策 最小割也就变成了进行决策所要丢掉的最小价值
之所以根据每个位置的二进制表示中1的个数来决定该位置两种决策放在左边还是右边 是为了避免二分图中同一个集...
分类:
其他好文 时间:
2014-10-24 18:59:31
阅读次数:
269
题意 输入n 然后输入n个数 代表连接时每个站点自身的消耗 然后输入n*n的矩阵 第i行第j列的数代表第i个站点和第j个站点之间路上的花费 链接i,j两个节点的总花费为两站点自身花费加上路上的花费 求⑩这n个站点连通的最小总花费
又是裸的最小生成树 给点的就用prim咯
#include
#include
#include
using namespace std;
const...
分类:
Web程序 时间:
2014-10-24 16:35:09
阅读次数:
360
题意 有n个空间站 接下n行依次输入n个空间站的x,y,z坐标和半径 求连接所有空间站总共至少要修多长的桥
也是裸的最小生成树 注意距离不会小于0 就是两个空间站相交的时候
#include
#include
#include
#include
using namespace std;
const int N = 105, M = 10050;
int par[N], n, m;
d...
分类:
其他好文 时间:
2014-10-23 12:37:36
阅读次数:
283
题意 在n个村庄之间修路使所有村庄连通 其中有些路已经修好了 求至少还需要修多长路
还是裸的最小生成树 修好的边权值为0就行咯
#include
#include
#include
#include
using namespace std;
const int N = 105, M = 10050;
int par[N], n, m, mat[N][N];
int ans;
struc...
分类:
其他好文 时间:
2014-10-23 12:29:17
阅读次数:
200
题意 有n个村子 输入n 然后n-1行先输入村子的序号和与该村子相连的村子数t 后面依次输入t组s和tt s为村子序号 tt为与当前村子的距离 求链接所有村子的最短路径
还是裸的最小生成树咯
#include
#include
#include
using namespace std;
const int N=30,M=1000;
int par[N],n,m,ans;
struct...
分类:
其他好文 时间:
2014-10-23 10:45:21
阅读次数:
174
题意 给你n个点 m条边 求最小生成树的权
这是最裸的最小生成树了
#include
#include
#include
using namespace std;
const int N = 55, M = 3000;
int par[N], n, m, ans;
struct edge{int u, v, w;} e[M];
bool cmp(edge a, edge b){return...
分类:
Web程序 时间:
2014-10-23 10:43:45
阅读次数:
229