bzoj 1179 縮點 最短路

2022-07-19 13:51:21 字數 937 閱讀 5444

題意:中文題面

解題思路:因為他能重複走且邊權都正的,那麼肯定乙個環的是必須走完的,所以先縮點,在重新建乙個圖跑最長路

**:

#include#include#include#include#include#include#includeusing namespace std;

const int inf=0x7f7f7f7f;

const int maxn=500500;

struct node

friend bool operator<(node a,node b)

void add2(int u,int v,int w)

void tarjan(int u)

else if(visit[v])

}if(dfn[u]==low[u])

while(u!=instack[indexx+1]);

}return;

}void dij(int u)}}

}void init()

int main()

for(int i=1;i<=n;i++)

if(!dfn[i])

tarjan(i);

for(int i=1;i<=n;i++)

scanf("%d",&val[i]);

scanf("%d%d",&start,&cot);

for(int i=1;i<=cot;i++)

scanf("%d",&flag[i]);

for(int i=1;i<=scc_cnt;i++)

}add2(0,start,w[start]);

for(int i=1;i<=m;i++)

}dij(0);

ans=0;

for(int i=1;i<=cot;i++)

printf("%d\n",ans);

}

BZOJ 1924 所駝門王的寶藏 縮點 最短路

給出乙個1e6 1e6 1e6 1e6 1e6 1e 6的矩形,矩形中有三種傳送門,分別是傳送這一行的任意乙個傳送門,或者傳送到這一列的任意乙個傳送門,或者是傳送附近8 88個位置的任意乙個傳送門。然後你可以選擇並且只能選擇從任何乙個傳送門進入,從任何乙個傳送門出來。求經過最多的點的個數是多少。預處...

道路與航線(最短路 縮點 拓撲排序)

題目描述 農夫約翰正在乙個新的銷售區域對他的牛奶銷售方案進行調查。他想把牛奶送到t個城鎮,編號為1 t。這些城鎮之間通過r條道路 編號為1到r 和p條航線 編號為1到p 連線。每條道路 i 或者航線 i 連線城鎮ai到bi,花費為ci。對於道路,0 ci 10,000 然而航線的花費很神奇,花費ci...

Luogu P3627搶掠計畫(縮點最短路)

題目鏈結在此 有環當然一定盡量走環,這是搞縮點的人都知道的常識。建了新圖之後搞點權spfa跑最長路。列舉每個酒吧選擇最大值。發現我的部落格寫的越來越水了 include include include inline long long read while isdigit ch return num...