Luogu P3116會議時間(拓撲排序,DP)

2022-05-01 01:48:14 字數 956 閱讀 9969

題目鏈結

本題使用拓撲排序來規劃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 和服務型別...