bzoj 1927 星際競速(拆點費用流)

2021-06-28 16:50:39 字數 669 閱讀 6040

題目鏈結 

好嘛,現在我要正式用某神犇的部落格上的題的順序開始刷題了。。。

這道題將每個能力爆發模式的費用,即單點費用拆成兩個點,再加邊。要加入乙個源點和匯點。本蒟蒻只會寫有點耗時的spfa版,若有那個神犇會zkw費用流,請教一下= =||。

#include#include#include#includeusing namespace std;

#define inf (1e8)

int n,m,s,t;

int a[10000],dep[10000],p[10000],vis[10000],head[10000];

struct nodee[100000];

int k=0;

void adde(int u,int v,int c,int w)

void input()

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

}void solve()}}

} if(dep[t]==inf)break;

int tt=t,a=inf;

while(tt!=0)

ans+=dep[t]*a;

tt=t;

while(tt!=0)

} printf("%d",ans);

}int main()

BZOJ1927星際競速

1927 sdoi2010 星際競速 time limit 20 sec memory limit 259 mb submit 1727 solved 1053 description 10 年一度的銀河系賽車大賽又要開始了。作為全銀河最盛大的活動之一,奪得這個專案的冠軍無疑是很多人的夢想,來自傑森...

bzoj1927 星際競速

考慮沒有爆發,那麼相當於是帶權最小不可交路徑覆蓋,由於只能從編號小的到編號大的,因此一定是dag,而dag的最小路徑覆蓋可以拆點並跑最大流,那麼帶權的只需要跑費用流即可 s向i連 1,0 的邊,i 向t連 1,0 的邊,i向j 連 1,t 的邊,其中i j有時間為t的邊 考慮爆發操作,相當於讓任意兩...

bzoj1927 Sdoi2010 星際競速

傳送門 思路 拆點拆成x和x s向x 連邊,容量為1,費用為定位時間 s向x連邊,容量為1,費用為0 對於原圖的邊u v u向v 連邊,容量為1,費用為時間 x 向t連邊,容量為1,費用為0 跑一遍費用流即可 include include include includeconst int maxn...