CodeForces - 1334C Circle of Monsters(贪心)
生活随笔
收集整理的這篇文章主要介紹了
CodeForces - 1334C Circle of Monsters(贪心)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接:點擊查看
題目大意:給出一個有順序的環形敵人序列,每個敵人有兩個屬性,分別記為 a 和 b ,a 為 該敵人的血量,需要相應的子彈數量才能擊敗,當敵人 i 被擊敗后,他會爆炸,對第 i + 1 名敵人造成 b[ i ] 的傷害,問至少需要用多少子彈才能將敵人都消滅
題目分析:因為 b 都是大于 0 的數,所以最優解肯定是先挑選一個敵人開始,然后按照順序依次擊殺,不難看出這樣是最優的,那么找出第一個擊殺的敵人成了這個題的突破口,我的第一反應是找到 a[ i ] 的最小值入手,但不幸的是這樣做并不對,后來看到了數據范圍給了提示,就恍然大悟了,想一下為什么 a 和 b 的數值都給到了 1e12 ,而不是正常的 1e9 或 1e5 呢,顯然是需要進行某種操作,而不能超過 1e18 ,這相差了不到?1e6?的量級恰好就和敵人的數量 n 對應了起來,所以數據范圍提示我們需要維護一個前綴和,這樣一想我們因為只是第一個敵人的選擇不一樣,所以可以一層循環枚舉起點然后維護最小值作為答案
代碼:
?
?
總結
以上是生活随笔為你收集整理的CodeForces - 1334C Circle of Monsters(贪心)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeForces - 1333F K
- 下一篇: CodeForces - 1334D M