是最短路+動規的題型!
和codevs 1403是一樣的,還要簡單一些
主要不同的是沒有加最開始的方案改變花費
1 #include2 #include3 #include4 #include5 #include6#define re register
7#define llint long long
8#define wl putchar('\n')
9#define read1(a) scanf("%d",&a)
10#define de(a) cout<11
using
namespace
std;
12const
int inf = 0x3f3f3f3f;13
struct
edgee[10086
<<1
];16
int h[105
],tot;
17 inline void add(int x,int y,int
w)18
25int ban[105][50];//
第i天第j個點是否可用
26int t,n,k,m;//
n點m邊
27 llint cost[100][100
];28 llint dp[100
];29
30 llint dis[105
];31
int vis[105
];32 priority_queue < pair >q;
3334 inline llint dijkstra(int t1,int
t2)35
40for(int t=t1;t<=t2;t++)
4146
}47 dis[1]=0
;48 q.push(make_pair(-0,1
));49
while(!q.empty())
5063}64
}65return
dis[n];66}
6768
69int
qq;70
inta,b,c;
71int
main()
7279 scanf("
%d",&qq);
80for(int i=1;i<=qq;i++)
8187}88
89for(int i=1;i<=t;i++)
9095}96
97for(int i=1;i<=t;i++)
98105
}106 printf("
%lld
",dp[t]);
107108 }
ZJOI2006 物流運輸
description 物流公司要把一批貨物從碼頭a運到碼頭b。由於貨物量比較大,需要n天才能運完。貨物運輸過程中一般要轉停好幾個碼頭。物流公司通常會設計一條固定的運輸路線,以便對整個運輸過程實施嚴格的管理和跟蹤。由於各種因素的存在,有的時候某個碼頭會無法裝卸貨物。這時候就必須修改運輸路線,讓貨物能...
ZJOI2006 物流運輸
dp套最短路。還是蒟蒻做題少。開始想的是狀壓dp。但是因為太蒻了,不會很高效地處理一些點集的最短路,弄了乙個t飛的演算法。之後看了題解才知道原來是可以用dp套最短路做的。為什麼需要dp?因為本題涉及到狀態的選擇。每一天要麼不更換線路,要麼更換。顯然這個東西是沒有辦法貪心搞的,所以只能用dp把狀態整合...
ZJOI2006 物流運輸
物流公司要把一批貨物從碼頭a運到碼頭b。由於貨物量比較大,需要n天才能運完。貨物運輸過程中一般要轉停好幾個碼頭。物流公司通常會設計一條固定的運輸路線,以便對整個運輸過程實施嚴格的管理和跟蹤。由於各種因素的存在,有的時候某個碼頭會無法裝卸貨物。這時候就必須修改運輸路線,讓貨物能夠按時到達目的地。但是修...