先跑一遍最短路
把最短路上的點建乙個圖,
然後需要拆點,因為權值在點上面
然後拆點限制流量
最後跑一邊最大流就可以了
#include#include#include#include#includeusing namespace std;
int head[100003],exhead[100003],q[400003],d[400003];
struct mapa[400003],exa[400003];
int edge,exedge,p;
inline void add(int s,int t,long long f)
inline void exadd(int s,int t,long long f)
inline bool bfs()
} }if(d[p]>=0)else
}inline long long dfs(int now,long long f)
long long t=f;
for(int i=head[now];i;i=a[i].next)
} return t-f;
}inline long long dinic()
return fanhui;
}long long dis[501];
bool v[501];
inline void spfa()
memset(v,false,sizeof(v));
queueq;
while(!q.empty())
q.push(1);
dis[1]=0;
v[1]=true;
while(!q.empty())
}} }
}int b[100003];
int main()
spfa();
p=n;
for(int i=1;i<=n;i++)
add(i,i+p,lim);
add(i+p,i,0);
} for(int i=1;i<=exedge;i++)
}p=n*2;
long long ans=dinic();
cout<
3931 CQOI2015 網路吞吐量
time limit 10 sec memory limit 512 mb submit 1536 solved 628 submit status discuss 路由是指通過計算機網路把資訊從源位址傳輸到目的位址的活動,也是計算機網路設計中的重點和難點。網路中實現路由 的硬體裝置稱為路由器。為了...
3931 CQOI2015 網路吞吐量
題目鏈結 題目大意 求最短路樹上的最大流 題解 定義最短路樹如下 從源點1經過邊集t到任意一點i有且僅有一條路徑,且這條路徑是整個圖1到i的最短路徑,邊集t構成最短路樹。然後建圖就好了 我的收穫 最短路樹的應用 include include include include include usin...
CQOI2015 網路吞吐量
路由是指通過計算機網路把資訊從源位址傳輸到目的位址的活動,也是計算機網路設計中的重點和難點。網路中實現路由 的硬體裝置稱為路由器。為了使資料報最快的到達目的地,路由器需要選擇最優的路徑 資料報。例如在常用的路由演算法ospf 開放式最短路徑優先 中,路由器會使用經典的dijkstra演算法計算最短路...