Noip2018普及 擺渡車

2022-05-31 09:00:12 字數 689 閱讀 8921

生涯回憶錄徹底摸了。。。反正也沒啥人看(

過幾天要給普及組神犇講課就尋思做一點普及題,然後差點被錘爆,,

題在luogu上找的不貼了

首先考慮如果前後兩個人等待時間相差超過$m$(往返時間),那一定不必等,因為中間完全可以送一趟。所以我們發現這個$4e6$的$t_i$的資料範圍一定沒用......而且時間肯定要排序一下啦。

所以這肯定要dp了,用f[i][j]表示前i個人全送走,且最後一班車讓$i$等了$j$分鐘,前$i$個人總共等了多久。那麼f[i][j]可以轉移到f[k][下一班車走的時間-$t_k$],表示下一班把$k$之前包括$k$的人送了。這裡下一班車走的時間就是$f[i][j]$表示的發車時間$+m$和$t_k$取max。多花的時間用字首和維護一下就行了。開始我沒考慮第二維,太菜了。。

**跑的還很慢,人菜常數大

#includeusing

namespace

std;

const

int n=510

;const

int inf=0x3f3f3f3f

;int

f[n][n],a[n],s[n];

intmain()}}

int ans=inf;

for(int j=0;j)

ans=min(ans,f[n][j]);

cout

}

NOIP2018 普及組 擺渡車 題解

關於我上冬令營網課時,聽說普及組考過斜率優化dp這件事 擺渡車往返一次要 m 分鐘,但擺渡車可以在起點等人,故可以將往返一次的時間 t in m,infty 但是個人都不會讓他等於正無窮吧?求這 n 個人等待時間之和最小值。首先,觀察資料範圍 小資料就不說了吧 顯然,可以根據時間設定狀態。設 f 表...

NOIP2018普及遊記

我好弱啊,今年又是考pj啊 今年gd的又是在我們學校有考點 gzez 考前其實還是蠻緊張的,畢竟考砸了就afo了。我dp是真的弱,模擬賽連最長下降子串行都不會寫,心想要是t3是dp就咕咕咕了。去年那個組題人還是比較友好的,但是我把freopen注釋掉了然後就咕咕咕了。暑假打了很多省選 noi的題目,...

NOIP2018普及組 參賽總結

發現就我只打了這麼一點字,所以再重新發一下 考前 考試前一天晚上一直在看電視 看到了10點還是11點吧,寫了一會兒會兒作業,但我覺得這不是考砸了的理由 誰叫我本來就如此之水 第二天早上很早就起床了,還順便跟外婆還有老媽去小區外面吃了個早餐。然後老媽帶我來了考場,也是在附近萬達吃了飯,走路就花了我差不...