CodeForces - 1330E Drazil Likes Heap(贪心)
生活随笔
收集整理的這篇文章主要介紹了
CodeForces - 1330E Drazil Likes Heap(贪心)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接:點擊查看
題目大意:首先定義 n 階完全大頂堆的概念,就是滿足節點個數恰好為個,序號從 1 開始排列,對于每個節點 i 都滿足
接下來給出一段偽代碼,教你如何從大頂堆中刪去節點 i?
最后給你一個 h 和一個 g ,其意義是,現在有一個 h 階的完全大頂堆,要求恰好刪除掉個結點后,使得剩下一個 g 階的完全大頂堆,滿足:
給出一種合適的刪除方案,使得滿足題意
題目分析:重點就是讀題了吧,讀懂題會發現其實就是一個貪心,題目給出的偽代碼的操作是:
因為是大頂堆,所以從點 1 開始正向遍歷,如果對于某個節點 i 來說,節點 i 的子樹的絕對高度大于了最后需要保留的高度,那么說明節點 i 的子樹中必須刪除掉一些節點才能保證降低子樹的高度,而對于這棵子樹來說,a[ i ] 一定是子樹中的最大值,所以刪掉節點 i 一定是最優的,所以一層 for 帶著一個 while 貪心刪就好了,最關鍵的核心代碼就是大頂堆的刪除,但是題目給出了偽代碼。。真是讓人匪夷所思的題目
代碼:
?
?
總結
以上是生活随笔為你收集整理的CodeForces - 1330E Drazil Likes Heap(贪心)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeForces - 1330D D
- 下一篇: Matlab中plot函数绘图基本用法