Codeforces Global Round 13 C
生活随笔
收集整理的這篇文章主要介紹了
Codeforces Global Round 13 C
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C. Pekora and Trampoline
題意:對于數組a,每次出發開始可以選擇任意元素作為起始點,然后在數組上移動,落點為i + a[i],直至超出數組范圍,每次經過的點的值減一(先移動再減/直至減到1為止),求使數組元素全為1所用最少的出發次數
數據范圍:數組大小n:[1,5000][1,5000][1,5000] 元素大小 a[i]:[1,109][1,10^9][1,109]
思路:模擬+優化
首先觀察元素大小的最大值遠高于數組大小上限,此時站在上面會直接超出數組范圍,直接模擬會多次重復該動作消耗大量時間,因此可以對其超出數組范圍的部分批量一次性處理;
再者是數組不斷趨向全為1的狀態,中間態的數組難免出現大量的連續的1,直接模擬經過連續1時只能一步步走則會消耗大量時間,因此可以另開一個數組去對應記錄當該值為1時最終會跳那個非1的值的位置
總結
以上是生活随笔為你收集整理的Codeforces Global Round 13 C的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML5 学习笔记
- 下一篇: 【图论】(二分图)J. Burnishe