對於剛上大學的牛牛來說,他面臨的第乙個問題是如何根據實際情況申請合適的
課程。在可以選擇的課程中,有 2n 節課程安排在 n 個時間段上。 在第 i ( 1 ≤ i ≤ n )個 時間段上,兩節內容相同的課程同時在不同的地點進行,其中,牛牛預先被安排在教室 ci 上課,而另一節課程在教室 di 進行。
在不提交任何申請的情況下,學生們需要按時間段的順序依次完成所有的 n 節安排好的課程。如果學生想更換第i節課程的教室,則需要提出申請。若申請通過,學生就可以在第 i 個時間段去教室 di 上課,否則仍然在教室 ci 上課。由於更換教室的需求太多,申請不一定能獲得通過。 通過計算,牛牛發現申請更 換第 i 節課程的教室時,申請被通過的概率是乙個己知的實數 ki ,並且對於不同課程 的申請,被通過的概率是互相獨立的。
學校規定,所有的申請只能在學期開始前一次性提交,並且每個人只能選擇至多m節課程進行申請。 這意味著牛牛必須一次性決定是否申請更換每節課的教室,而不能根據某些課程的申請結果來決定其他課程是否申請;牛牛可以申請自己最希望更換教室的 m 門課程,也可以不用完這 m 個申請的機會,甚至可以一門課程都不申請。 因為不同的課程可能會被安排在不同的教室進行,所以牛牛需要利用課間時間從 一間教室趕到另一間教室。 牛牛所在的大學有 v 個教室,有 e 條道路。 每條道路連線兩間教室,並且是可 以雙向通行的。
由於道路的長度和擁堵程度不同,通過不同的道路耗費的體力可能會有所不同。 當第 i ( 1 ≤ i ≤ n − 1 )節課結束後,牛牛就會從這節課的教室出發,選擇一條耗費體力最少的路徑前往下一節課的教室。現在牛牛想知道,申請哪幾門課程可以使他因在教室間移動耗費的體力值的總和的期望值最小,請你幫他求出這個最小值。
現在牛牛想知道,申請哪幾門課程可以使他因在教室間移動耗費的體力值的總和的期望值最小,請你幫他求出這個最小值。
這道題其實只要熟悉期望的求法,而且腦子沒有炸掉都可以想出來(反正我腦子是炸掉了)
首先用floyd將教室兩兩間到達的距離求出來。
求期望,搞個dp,
設\(f_\)表示做到第i節課,用了j次申請,這節課有沒有申請(k=0表示沒有,反之),的最小期望值。
轉移很容易,就是有點麻煩甚至噁心:
f[i][j][0]=min(f[i][j][0],f[i-1][j][0]+dis[a[i-1][0]][a[i][0]]);
if(j>=1)
}
天天愛跑步(NOIP2016提高組Day1T2)
題目描述 小c同學認為跑步非常有趣,於是決定製作一款叫做 天天愛跑步 的遊戲。天天愛跑步 是乙個養成類遊戲,需要玩家每天按時上線,完成打卡任務。這個遊戲的地圖可以看作一一棵包含n個結點和n 1條邊的樹,每條邊連線兩個結點,且任意兩個結點存在一條路徑互相可達。樹上結點編號為從1到n的連續正整數。現在有...
NOIP2016提高Day1 天天愛跑步
魔鬼題面 lca 樹上差分。對於一次詢問u到v,我們可以拆成兩段,一段為u到lca,一段為lca到v。先考慮u到lca,即從下到上的情況。對於在i點的觀察員,只有深度在depth i w i 的點才可能對i點有貢獻,這個貢獻在lca點結束。那麼利用差分思想,我們在depth i w i 的點打上標記...
NOIP2016提高組總結
這次noip可以用幾個字來形容 浪的飛起,頹的不行。中午從校門出發,在車上睡了半個車程。4 00左右,霧比較大,遠處的小蠻腰若隱若現。你好,廣州。5 00,symbol叫我們去看考場,結果被拒在門外,然後大家都散了。我與其它幾位小夥伴匆匆吃完飯,回到酒店,該看電視看電視,中途開會,提醒我們一些注意事...