文章分类 -  acm图论-最短路

hdu3832 我难以想到是最短路/dijkstra
摘要:题意是给定n个点,包括坐标和这个点照亮范围,使1、2、3三点连通最多删去几个点,也就是最少留下几个点构造两两之间的边,如果同一个点边权是0,如果可以照亮其中一个边权为1求出1和2和3到所有点最短路,d=min(dist[1][i]+dist[2][i]+dist[3][i]+1),可连通的话n-d-... 阅读全文

posted @ 2015-04-29 17:41 xiao_xin 阅读(207) 评论(0) 推荐(0)

hdu2851(2009多校第四场) 点权最短路转化为边
摘要:只需要把这条边上的最短路当成后一个点的权就好啦唯一的起始点1到1的距离就是g[1][1]这样相当于1被分离出来啦! 1 #include 2 #include 3 #include 4 using namespace std; 5 int n,m,vis[2005],dist[2005],g[200... 阅读全文

posted @ 2014-12-16 19:52 xiao_xin 阅读(331) 评论(0) 推荐(0)

hdu2833(2009多校第一场) 两条路最多交点
摘要:用floyd处理最短路的同时更新路上最多节点。然后枚举重合线段,只要符合两条都是最短路即可更新ans。 1 #include 2 #include 3 #include 4 using namespace std; 5 int dis[315][315],num[315][315]; 6 int m... 阅读全文

posted @ 2014-12-10 15:28 xiao_xin 阅读(109) 评论(0) 推荐(0)

hdu1385 floyed最短路(记录路径)
摘要:1 #include 2 #include 3 int g[105][105],next[105][105],v[105]; 4 int main() 5 { 6 int n,i,j,a,b,k,flag; 7 while (~scanf("%d",&n)&&n) 8 { ... 阅读全文

posted @ 2014-09-04 20:46 xiao_xin 阅读(103) 评论(0) 推荐(0)

hdu1535 spfa反向表示多到一
摘要:1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 struct Edge 7 { 8 int to; //边终点 9 int w; //边值10 int next;//结构体模拟链... 阅读全文

posted @ 2014-07-17 17:24 xiao_xin 阅读(129) 评论(0) 推荐(0)

hdu2145 邻接表spfa
摘要:1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 struct Edge 7 { 8 int to; //边终点 9 int w; //边值10 int next;//结构体模拟链... 阅读全文

posted @ 2014-07-17 17:22 xiao_xin 阅读(106) 评论(0) 推荐(0)

hdu2544 dijkstra
摘要:1 #include 2 #define max 100000000; 3 int main() 4 { 5 int n,m,i,j,k,min,a,b,c,hash[1005],ar[1005],length[105][105]; 6 while (~scanf("%d%d",&... 阅读全文

posted @ 2014-07-16 16:51 xiao_xin 阅读(87) 评论(0) 推荐(0)

导航