t1 期末考試
題意
有 \(n\) 位同學,每位同學都參加了全部的 \(m\) 門課程的期末考試,都在焦急的等待成績的公布。 第 \(i\) 位同學希望在第 \(t_i\) 天或之前得知所有課程的成績。如果在第 \(t_i\) 天,有至少一門課程的成績沒有公布,他就會等待最後公布成績的課程公布成績,每等待一天就會產生 \(c\) 不愉快度。 對於第 \(i\) 門課程,按照原本的計畫,會在第 \(b_i\) 天公布成績。 將負責課程 \(x\) 的部分老師調整到課程 \(y\),調整之後公布課程 \(x\) 成績的時間推遲一天,公布課程 \(y\) 成績的時間提前一天;每次操作產生 \(a\) 不愉快度。增加一部分老師負責學科 \(z\),這將導致學科 \(z\) 的出成績時間提前一天;每次操作產生 \(b\) 不愉快度。
上面兩種操作中的引數 \(x,y,z\) 均可任意指定,每種操作均可以執行多次,每次執行時都可以重新指定引數。 現在希望你通過合理的操作,使得最後總的不愉快度之和最小,輸出最小的不愉快度之和即可。樣例輸入與輸出
input
100 100 2
4 55 1 2 3
1 1 2 3 3
output
6
題解
十分容易發現,假若最後結束的課程的結束日期確定,那麼學生等待所產生的代價是確定的,且可以o(1)計算
那麼,列舉該結束日期,我們只要能夠o(log)地計算出使得所有課程均在這一天及其之前結束所需要的代價就可以了
這同樣並不困難。考慮兩種操作,發現:如果 \(a > b\) ,那麼,第一種操作完全不需要,只用第二種操作,代價很好算
假如 \(a < b\) ,那麼兩種操作顯然優先上第一種,我們可以快速地計算出最多使用多少次第一種操作,代價同樣很好算
那麼,這道題就完美地解決了 φ(≧ω≦*)♪
題解 六省聯考2017
題目順序不是做題順序也不是考試順序更不是難度順序,是隨機順序。為了不影響 體驗決定把 刪去,需要請私信我,qq或皆可。題目裡的難度評分是個人評分,僅供參考開心就好。題意是給定期末考試每門課的出分時間和學生希望的出分時間,如果學生要等就會有不滿意度。你可以進行老師的增加和調換操作,但是都會產生不滿意度...
六省聯考2017題解
觀察資料範圍,發現 n 非常大,但是 k 和 r 很小,容易想到矩陣乘法。原題式子的組合意義就是從 n times k 個物品選擇 i i bmod k r 個物品。考慮dp,設 f 表示從 i 個物品中選擇 s s bmod k j 個物品。由於 c c c 因此可以推出 f f f 發現所有的 ...
六省聯考2017
luogu lojbzoj 顯然我們只需要考慮最後公布成績的那一天。列舉這一天,預處理字首和之後即可 o 1 計算最小代價。注意倒數第二個subtask這最優的日期就是 min b i 直接計算即可。如果套用通法會爆long long,但是開unsigned long long就行了 include...