bzoj1927 Sdoi2010 星際競速

2021-07-09 13:31:01 字數 1044 閱讀 8306

傳送門:

思路:拆點拆成x和x'

s向x'連邊,容量為1,費用為定位時間

s向x連邊,容量為1,費用為0

對於原圖的邊u->v

u向v『連邊,容量為1,費用為時間

x』向t連邊,容量為1,費用為0;

跑一遍費用流即可

#include#include#include#includeconst int maxn=1610,maxm=200010;

using namespace std;

int n,m,a[maxn],pre[maxm],now[maxn],son[maxm],val[maxm],cost[maxm],from[maxm],tot=1;

int s=maxn-2,t=maxn-1,dis[maxn],q[maxm+10],head,tail,last[maxn],minc,flow;

bool bo[maxn];

struct edgee[maxm];

void add(int a,int b,int c,int d)

void ins(int a,int b,int c,int d)

int p0(int x)

int p1(int x)

bool spfa()

}bo[x]=0;

} return dis[t]y) swap(x,y);

e[i]=(edge);

} for (int i=1;i<=n;i++) ins(s,p1(i),1,a[i]),ins(s,p0(i),1,0),ins(p1(i),t,1,0);

for (int i=1;i<=m;i++) ins(p0(e[i].x),p1(e[i].y),1,e[i].z);

while (spfa()) find();

//spfa();

//for (int i=1;i<=n;i++) printf("%d\n",from[last[i]]);

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

return 0;

}

bzoj1927 Sdoi2010 星際競速

description 10 年一度的銀河系賽車大賽又要開始了。作為全銀河最盛大的活動之一,奪得這個專案的冠軍無疑是很多人的夢想,來自傑森座 星的悠悠也是其中之一。賽車大賽的賽場由 n 顆行星和m條雙向星際航路構成,其中每顆行星都有 乙個不同的引力值。大賽要求車手們從一顆與這 n 顆行星之間沒有任何...

SDOI2010 bzoj1927 星際競速

描述 10 年一度的銀河系賽車大賽又要開始了。作為全銀河最盛大的活動之一,奪得這個專案的冠軍無疑是很多人的夢想,來自傑森座 星的悠悠也是其中之一。賽車大賽的賽場由 n 顆行星和m條雙向星際航路構成,其中每顆行星都有乙個不同的引力值。大賽要求車手們從一顆與這 n 顆行星之間沒有任何航路的天體出發,訪問...

bzoj1927 Sdoi2010 星際競速

傳送門 description 10年一度的銀河系賽車大賽又要開始了。作為全銀河最盛大的活動之一,奪得這個專案的冠軍無疑是很多人的夢想,來自傑森座 星的悠悠也是其中之一。賽車大賽的賽場由n顆行星和m條雙向星際航路構成,其中每顆行星都有乙個不同的引力值。大賽要求車手們從一顆與這n顆行星之間沒有任何航路...