CF1939C

wuhupai發表於2024-04-17

題意

有一個會重複k次的陣列,每個人都可以那不超過t種禮物,禮物必須是順序發的,不能第一個發給第二個,求最少的人的個數。

首先每一個人都必須要取儘可能多的禮物,然後按這個模擬即可。

那麼我們就要搞出每一個點往後跳到那裡。這個最容易想到的應該是主席樹加二分,根據兩隻\(\log\)跑得快定律我們可以得出這是過不了的,因此我們就可以使用雙指標加\(map\)。想到一個很有意思的東西,比如說我現在要對每一位都做二分,那麼這個可以使用雙指標解決,另一個例子就是P10282
這樣我們就可以用一個map加上雙指標就可以搞出跳到的位置。然後直接模擬肯定是不行的,我們可以使用倍增,像這樣。然後就做完了。細節稍微注意一下