題意:中文題面
解題思路:因為他能重複走且邊權都正的,那麼肯定乙個環的是必須走完的,所以先縮點,在重新建乙個圖跑最長路
**:
#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...