图论
代码随想录
代码随想录网站:https://programmercarl.com
展开
-
poj 2502 Subway dijkstra基础 !!!!入门题
这是我第一个dijkstra,之前接触过,但不知道这个算法,现在一看,还是不难的,关键就是不断更新d[]数组,使d[]数组里面放的一直是所有点到起点的最小值,还有vis[]数组来避免重复查找!!!!!!!!!!#includeusing namespace std;#include#include struct node{ double x; double y;}a原创 2011-11-22 17:13:23 · 1067 阅读 · 4 评论 -
poj 2421 Constructing Roads prim最小生成树 基础!!!
#includeusing namespace std;int map[1015][1015],dis[1015],vis[1015];int sum; int n,q,x,y;void prim(int k){ int temp; for(int i=1;i<=n;i++) dis[i]=map[k][i]; vis[k]=1; for(int i=原创 2011-12-02 12:38:48 · 1264 阅读 · 0 评论 -
poj 1789 Truck History prim最小生成树 基础!!!!
题目的意思是:研究卡车的不同,它会给出各个卡车的一个7位的编号,然后看他们其中有几位是不同的,那么他们的差距就是几,然后求使他们联通的最小的距离和。#includeusing namespace std;int map[2002][2002],vis[2002],dis[2002],sum;char a[2002][10];int n;void prim(int k){原创 2011-12-01 02:32:59 · 1494 阅读 · 0 评论 -
poj 1287 Networking prim最小生成树 基础!!!
这是双向的,一开始调数据怎么都不对,后来一想这有双向边才符合输出!!1A#includeusing namespace std;int map[55][55],dis[55],vis[55];int n,m,x,y,l;int sum;void prim(int k){ int temp; for(int i=1;i<=n;i++) dis[i]=map[k][原创 2011-12-01 01:40:43 · 1543 阅读 · 0 评论 -
poj 1251 Jungle Roads prim最小生成树基础
基础prim最小生成树,感觉大体原理和dij,spfa差不多,就是一些小的地方有出入,dij是求所有点到一个点的最短路,而spfa解决了负权值的问题!!#includeusing namespace std;int map[30][30],dis[30]; bool vis[30]; int n,b,m;char a,a1;int sum;void prim(){原创 2011-12-01 01:10:46 · 1444 阅读 · 0 评论 -
poj 2485 Highways prim最小生成树 基础 球最小生成树中得最大边
prim基础!! 球最小生成树中得最大边#include#includeusing namespace std;int map[505][505],dis[505],vis[505],a[505];int sum[505],m;int cou;bool cmp(int x,int y){ return x>y;}void prim(int k){ i原创 2011-12-01 10:37:52 · 1373 阅读 · 0 评论 -
poj 3660 Cow Contest floyd 传递闭包!!基础
算出比i小的couy,算出比i大的 coux,看相加是不是等于n-1,果断一a!!!#includeusing namespace std;int map[105][105];int main(){ int n,m,x,y; while(cin>>n>>m) { memset(map,0,sizeof(map)); while(m--) { s原创 2011-11-30 23:27:13 · 785 阅读 · 0 评论 -
poj 2253 Frogger floyd 长路求权值最大边,属于简单题!!!!
刚开始做这道题的时候,一看就是floyd,果断打代码,wa了,然后就看看discuss,我去,全是dij,和prim,还有什么二分加并查集,这一下子给我整抑郁了后来终于看见一个志同道合的,一句话一语道破啊!!!求长路中权值最大边的floyd核心公式map[i][j]=min(map[i][j],max(map[i][k],map[k][j])),我当时忘考虑和自己的map[][]比较了,改完果断A原创 2011-11-28 23:44:15 · 1091 阅读 · 3 评论 -
poj 1511 Invitation Cards spfa 基础题!!虽然我做的比较坎坷!!可以练手啊!!
这道题整的我真是纠结,inf定义为0x7FFFFFF就是wa,改成7个F就过了,尼玛啊!!if(w+d[t]这道题spfa 正反两次就行了#includeusing namespace std;#include #include#include#define N 1000005#define inf 0x7FFFFFFF struct node { int u原创 2011-11-26 11:13:26 · 718 阅读 · 0 评论 -
poj 2240 Arbitrage floyd基础,字符串输入有点麻烦
此题与2263一样,floyid#includeusing namespace std;float map[205][205],pri;char a[100],b[100];char name[205][100];int cou=0;int find()//处理字符串输入{ for(int i=1;i<202;i++) { if(strcmp(name原创 2011-11-26 03:39:42 · 605 阅读 · 0 评论 -
poj 2387 Til the Cows Come Home spfa基础题,入门,我的第一个
终于想到spfa的好处了,首先要比dij快啊!!dij是所有点汤一遍,而spfa用链表有方向的,还有dij遇见负权边就完了dijkstra 不能有负权边,否则结果是错的,你想想,假如无向图有1,2,3个点,w(1,2)=1,w(1,3)=2,w(2,3)=-2. 按dij算法求求看。 实现方法:建立一个队列,初始时队列里只有起始点,在建立一个表格记录起始点到所有点的最短路径(该表格的初始值要赋原创 2011-11-26 02:11:22 · 1279 阅读 · 0 评论 -
poj 1511 Invitation Cards spfa比基础题难一些!!练练手挺好
对于这道题我是真无语了,最大值inf副成0x7FFFFFF,就是wa,变成7个F就过了,那if(w+d[t]求解释啊!!!!!!正反两遍spfa,不解释了!!!!!#includeusing namespace std;#include #include#include#define N 1000005#define inf 0x7FFFFFFF struct nod原创 2011-11-26 11:03:21 · 953 阅读 · 0 评论 -
poi 1847 Tram floyd!!基础,但这道题有一句很隐晦,容易wa
#includeusing namespace std;int map[205][205];#define inf 0x7FFFFFint main(){ int n,m,a,b,t; while(cin>>n>>a>>b) { for(int i=0;i<205;i++) { for(int j=0;j<205;j++) {原创 2011-11-23 11:32:24 · 703 阅读 · 0 评论 -
poj 1502 MPI Maelstrom dijkstra基础 入门 点型模板题
#includeusing namespace std;int map[105][105];int vis[105],d[105];int main(){ int n,a; char r[100]; while(cin>>n) { for(int i=0;i<105;i++) { for(int j=0;j<105;j++) {原创 2011-11-22 17:24:02 · 677 阅读 · 0 评论 -
poj 3268 Silver Cow Party dijkstra基础题!!!入门
双向dijkstra,一遍正续dijkstra,再将路向倒过来dijkstra,这道题我已开始定义最大值0x7FFFFFFF这顿wa,改成0x7FFFFF就过了,原来0x7FFFFFFF在比较的时候d[u]+map[u][j]一加就冒了,变成负数了!!!#includeusing namespace std;int map[1005][1005],vis1[1005][1005];in原创 2011-11-22 17:20:18 · 847 阅读 · 0 评论 -
poj 图论!!!
POJ 2449 Remmarguts' Date(中等) AChttp://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意:经典问题:K短路解法:dijkstra+A*(rec),方法很多相关:http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1144转载 2011-12-08 00:33:28 · 2226 阅读 · 0 评论