題目鏈結
本題使用拓撲排序來規劃dp順序。設s[i][j]表示i步是否能走到j這個點,e[i][j]表示i步是否能走到j這個點——用第二條路徑。因為要滿足無後效性和正確性,只有第i個點已經全部更新完畢的時候才能用它來更新其他的點。所以用拓撲。
**如下
#include#include#include
#include
using
namespace
std;
inline
long
long
read()
while
(isdigit(ch))
return num*f;
}int f[1000000
],h,t;
struct
edgeedge[
1000010
];int head[100100],num=0
;inline
void add(int
from,int to,int d,int
w); head[
from]=num;
}int indl[10010
];int s[10001][1001],e[10001][1001
];int
main()
for(int i=2;i<=n;++i)
if(!indl[i]) f[++t]=i;
while(h++}
h=0;t=1
; f[
1]=1
; s[
0][1]=e[0][1]=1
;
while(h++}
for(int i=0;i<=m;++i)
}printf(
"impossible");
return0;
}
3 11隨機選擇
問題 你想從乙個序列中隨機抽取若干元素,或者想生成幾個隨機數。解決方案 random模組有大量的函式用來生產隨機數和隨機選擇元素。比如,想要從乙個序列中隨機的抽取乙個元素,可以使用random.choice import random values 1,2,3,4,5,6 print random....
完全揹包 311
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述直接說題意,完全揹包定義有n種物品和乙個容量為v的揹包,每種物品都有無限件可用。第i種物品的體積是c,價值是w。求解將哪些物品裝入揹包可使這些物品的體積總和不超過揹包容量,且價值總和最大。本題要求是揹包恰好裝滿揹包時,求出最大價值...
實驗3 11 計算油費
實驗3 11 計算油費 15分 現在90號汽油6.95元 公升 93號汽油7.44元 公升 97號汽油7.93元 公升。為吸引顧客,某自動加油站推出了 自助服務 和 協助服務 兩個服務等級,分別可得到5 和3 的折扣。本題要求編寫程式,根據輸入顧客的加油量a,汽油品種b 90 93或97 和服務型別...