图论
文章平均质量分 73
INCINCIBLE
这个作者很懒,什么都没留下…
展开
-
最短路——floyd算法
求每一对顶点的最短路径。枚举经每一个点中转其他的两点之间路径是否缩短,时间复杂度为o(n^3)。核心代码如下:(map为存图的数组)for(k=1;k for(i=1;i for(j=1;j f(Map[i][j]>Map[i][k]+Map[k][j])Map[i][j]=Map[i][k]+Map[k]原创 2016-01-29 14:27:50 · 495 阅读 · 0 评论 -
最小费用最大流模板(存边)
函数功能介绍:Addedge(from,to,w,res) 添加一条 x->y,费用为w,残量为res的边,并一起添加其反向边,由于从0号开始,相邻两个数代表的边互为反向边(即i号边的反向边是 i^1)。spfa.init(N)初始化点数Nspfa.find(S,T) 在 源点为S,汇点为T的图中寻找最小费用增广路,i号点的前驱边编号存在Path[i]中代码如下(以nkoj 158原创 2016-07-28 20:06:07 · 514 阅读 · 0 评论 -
最短路——dijkstra
#include#includeusing namespace std;const int inf=2e9;int map[105][105],s[105],m,n,x,y; //s[i]数组保存到i的最短路长度bool vis[105];void input(){int p,q,i,j,t;scanf("%d%d",&n,&m);for(i=1;i原创 2016-01-29 14:08:04 · 416 阅读 · 0 评论 -
最短路——SPFA
bellman算法有太多冗余的松弛操作,SPFA利用队列省去了冗余的讨论,时间复杂度约为O(KE)k约为2,E为边数。代码如下:#include#include#includeconst int inf=10000000;using namespace std;queueq;int n,m,x,y,map[105][105],vis[105],dist[105];原创 2016-01-30 10:30:59 · 467 阅读 · 0 评论 -
UVA 11478V Halum 二分答案+差分约束系统
详细翻译版请见白皮书334页11478 HalumYou are given a directed graph G(V, E) with a set of vertices and edges. Each edge (i, j) that connectssome vertex i to vertex j has an integer cost associated with that原创 2016-05-07 23:21:41 · 686 阅读 · 0 评论 -
差分超级坑题--nkoj2112(scoi2011)
Problem C:【SCOI2011 Day1】糖果Time Limit:10000MS Memory Limit:165536KTotal Submit:308 Accepted:74 Case Time Limit:3000MSDescription 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒原创 2016-05-05 17:52:37 · 412 阅读 · 0 评论 -
差分约束 矩阵问题
D 矩阵问题时间限制 : - MS 空间限制 : 165536 KB 评测说明 : 时限:3000ms问题描述 给出一个n*m的整数矩阵F。 求两个数列A和B,数列A有n个元素:A1,A2,A3...An 。数列B有m个元素:B1,B2,B3.....Bm, 使得对矩阵中的每个数进行下面的计算之后的结果在[X,Y]之间:计算操作为:A[i] * F[原创 2016-05-26 19:51:48 · 543 阅读 · 0 评论 -
poj——1275 Cashier Employment 差分约束系统
Cashier EmploymentDescriptionA supermarket in Tehran is open 24 hours a day every day and needs a number of cashiers to fit its need. The supermarket manager has hired you to help him, solve his原创 2016-05-08 16:59:36 · 522 阅读 · 0 评论 -
强连通分量 间谍网络
nkoj 1412Description由于外国间谍的大量渗入,国家安全正处于高度的危机之中。如果A间谍手中掌握着关于B间谍的犯罪证据,则称A可以揭发B。有些间谍收受贿赂,只要给他们一定数量的美元,他们就愿意交出手中掌握的全部情报。所以,如果我们能够收买一些间谍的话,我们就可能控制间谍网中的每一分子。因为一旦我们逮捕了一个间谍,他手中掌握的情报都将归我们所有,这样就有可能逮捕新的间谍,掌握原创 2016-03-24 15:18:05 · 489 阅读 · 0 评论 -
最短路坑题——贝西回家 uscow2.2.4
这道题坑点太多了:1. 一共有51个牧场,而不是25个;2.两个牧场之间可能有多条路,要取最短的一条;3.这是无向图;4.字符的输入比较坑爹。代码如下:#include#include#includeconst int inf=100000;using namespace std;vectorcow; //用来记下有牛的牧场int m,n,原创 2016-01-30 09:42:13 · 607 阅读 · 0 评论 -
【USACO5.3.3】Network of Schools
nkoj 1862Description一些学校连入一个电脑网络。那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”)。注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学校的列表中。 你要写一个程序计算,根据协议,为了让网络中所有的学校都用上新软件,必须接受新软件副本的最少学校数目(子任务 A)。更进一步,我们想要确定通过给任意一个学校发送新软件原创 2016-03-18 21:41:00 · 634 阅读 · 0 评论 -
【强连通分量】奶牛偶像 usaco 2003
nkoj 2243Description每头奶牛都梦想着成为牛群中的明星,成为奶牛们的偶像。约翰的牛群共有N (1 你的任务是找出被所有的奶牛都当做偶像的奶牛的数目。Input第一行,两个整数N和M 接下来M行,每行两个整数A和B,表明A认为B是它的偶像。Output一个整数,表示所求结果Sample Input3 31 22 12 3原创 2016-03-18 18:30:03 · 912 阅读 · 0 评论 -
图论——nkoj1636变化的桥(多维spfa)
【Week1】变化的桥Description 话说puga来到了神秘岛。他发现,这是一个由n个小岛和一个中心岛组成的群岛,群岛之间有m座桥。令他感到惊讶的是,这些桥并不是固定不变的,经较长时间的观察,发现它们会随时间作周期性的变化(即桥的两端会不断更换)。 puga用望远镜看到到远远的那个中心岛上有一间小屋,架在一棵好大好大的树上。于是他决定前往中心岛上的那间空中楼阁。puga当原创 2016-03-17 15:22:35 · 644 阅读 · 0 评论 -
NOIP 2009 最优贸易
nkoj 1692Description(trade.pas/c/cpp) 【问题描述】 C国有n个大城市和m条道路,每条道路连接这n个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这m条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为1条。 C国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市原创 2016-03-03 15:47:17 · 636 阅读 · 0 评论 -
图论——昂贵的聘礼
nkoj 2226一道很好的图论dijstra算法应用题。#include#include#include#includeusing namespace std;const int inf=2e9;queueq;int m,n,pos[105],dist[105],map[105][105];bool vis[105];void input(){ int i,j,x,y,t原创 2016-02-04 16:58:41 · 441 阅读 · 0 评论 -
SPFA_聚会
Description小 S 想要从某地出发去同学k的家中参加一个 party,但要有去有回。他想让所用的时间尽量的短。但他又想知道从不同的点出发,来回的最短时间中最长的时间是多少,这个任务就交给了你。分析:单源最短路问题,去K点的距离用反图处理即可。代码如下:#include#include#include#include#includeusing nam原创 2016-01-30 16:37:38 · 732 阅读 · 0 评论 -
最短路——Bellman-ford算法
求从一点出发,到各点的最短路代码如下:#include#includeconst int inf=1000000;using namespace std;int m,n,x,y,dist[105];bool flag=false;struct line{ //存边的结构体int x,y,w;}L[105];void input(){int原创 2016-01-29 14:56:47 · 367 阅读 · 0 评论 -
常用图论算法
最小费用最大流模板:#include #include #include #include #include #include #include #include #define LL long long #define CLEAR(xxx) memset(xxx,0,sizeof(xxx)) using namespace std; con原创 2016-10-22 23:38:10 · 662 阅读 · 0 评论