【动态规划】【spfa】【最短路】bzoj1003 [ZJOI2006]物流运输trans
2015-04-24 21:08
459 查看
预处理cost[a][b] 表示第a天到第b天用同一条线路的成本。
具体转移看代码。
具体转移看代码。
#include<cstdio> #include<algorithm> #include<cstring> #include<queue> using namespace std; #define N 21 typedef long long ll; #define M 401 int n,m,K,day; int v[M<<1],first ,next[M<<1],w[M<<1],en,cost[101][101],f[101]; bool cant [101][101]; void AddEdge(int U,int V,int W) { v[++en]=V; w[en]=W; next[en]=first[U]; first[U]=en; } queue<int>q; bool inq ; int dis ; void spfa(int from,int to) { memset(inq+1,0,sizeof(bool)*n); memset(dis+1,0x7f,sizeof(int)*n); q.push(1); inq[1]=1; dis[1]=0; while(!q.empty()) { int U=q.front(); for(int i=first[U];i;i=next[i]) if((!cant[v[i]][from][to])&&(ll)dis[v[i]]>(ll)dis[U]+(ll)w[i]) { dis[v[i]]=dis[U]+w[i]; if(!inq[v[i]]) { q.push(v[i]); inq[v[i]]=1; } } q.pop(); inq[U]=0; } } int main() { int x,y,z,P; scanf("%d%d%d%d",&day,&n,&K,&m); for(int i=1;i<=m;++i) { scanf("%d%d%d",&x,&y,&z); AddEdge(x,y,z); AddEdge(y,x,z); } scanf("%d",&P); for(;P;--P) { scanf("%d%d%d",&x,&y,&z); for(int i=1;i<=z;++i) for(int j=max(y,i);j<=day;++j) cant[x][i][j]=1; } for(int i=1;i<=day;++i) for(int j=i;j<=day;++j) { spfa(i,j); cost[i][j]=dis *(dis >2000000000?1:(j-i+1)); } memset(f+1,0x7f,sizeof(int)*day); for(int i=0;i<=day;++i) for(int j=i+1;j<=day;++j) f[j]=(int)min((ll)f[j],(ll)f[i]+(ll)(i==0?0:K)+(ll)cost[i+1][j]); printf("%d\n",f[day]); return 0; }
相关文章推荐
- 【BZOJ1003】【ZJOI2006】物流运输trans 最短路预处理+动态规划
- BZOJ 1003: [ZJOI2006]物流运输trans SPFA+DP
- BZOJ 1003 [ZJOI2006]物流运输trans SPFA+DP
- bzoj 1003 [ZJOI2006]物流运输trans 最短路+DP
- [ZJOI2006] bzoj 1003 物流运输 最短路 动态规划
- bzoj 1003 [ZJOI2006]物流运输(最短路spfa+dp)
- BZOJ-1003-物流运输trans-ZJOI2006-SPFA+DP
- BZOJ 1003: [ZJOI2006]物流运输trans(最短路+dp)
- BZOJ 1003: [ZJOI2006]物流运输trans DP+SPFA
- BZOJ 1003 [ZJOI2006]物流运输trans SPFA+DP
- BZOJ 1003([ZJOI2006]物流运输trans-SPFA+DP)
- BZOJ-1003-物流运输trans-ZJOI2006-SPFA+DP
- BZOJ_1003_[ZJOI2006]_物流运输_(动态规划+最短路)
- BZOJ1003 [ZJOI2006]物流运输trans(集合型动态规划)
- bzoj1003: [ZJOI2006]物流运输trans[最短路+DP]
- 【BZOJ】1003: [ZJOI2006]物流运输trans(SPFA+DP)
- 【bzoj1003】【ZJOI2006】【物流运输】【最短路】【动态规划】
- BZOJ 1003([ZJOI2006]物流运输trans-SPFA+DP)
- 【DP+SPFA】【ZJOI2006】【bzoj1003】【cogs1824】物流运输trans
- 【BZOJ1003】[ZJOI2006]物流运输trans【最短路】【DP】