CodeForces - 1321B Journey Planning(思维)
生活随笔
收集整理的這篇文章主要介紹了
CodeForces - 1321B Journey Planning(思维)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接:點擊查看
題目大意:給出一個長度為 n 的數列,規定本題中的上升子序列必須滿足兩個條件:
問累加和最大的上升子序列為多少
題目分析:比賽的時候一直以為是dp,最后才發現只是一個簡單思維,首先對于上面的第二個條件移項,可以得到上升子序列的第二個條件就變成了a[ i ] - i = a[ j ] - j,也就是可以構成上升子序列的一系列序列,其值與位置的差都是相等的,那么只需要O(n)維護一下答案就好了,注意,因為位置的范圍是1~2e5,而值的范圍是1~4e5,所以可能會出現-2e5這樣的坐標,為了方便處理,我們可以配合map進行統計
代碼:
?
?
總結
以上是生活随笔為你收集整理的CodeForces - 1321B Journey Planning(思维)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XJOJ - 选信封(离散化+增广路)
- 下一篇: CodeForces - 1321C R