題目鏈結
好嘛,現在我要正式用某神犇的部落格上的題的順序開始刷題了。。。
這道題將每個能力爆發模式的費用,即單點費用拆成兩個點,再加邊。要加入乙個源點和匯點。本蒟蒻只會寫有點耗時的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...