Codeforces Round #186 (Div. 2)

來源:互聯網
上載者:User

題目連結

E題:大概能想到貪心,但細想不下去,最後問了別人,好像也沒有什麼嚴謹的證明。。。

首先,儘可能湊出大的數字,m-1,m-2,,,,,,,話說是因為如果上下兩個數字互為最優的匹配,那麼必選這個匹配,因為如果不選這個會使得總答案變小

然後每次就根據這個原則去選取就好了。。。看下那些AC的代碼就知道了,這題主要是考想法,,,怎麼證明。

然後根據上面那個結論,可以用一個奇葩的用平衡樹來做的方法,就是不斷的找最優匹配直到上下兩個數互為最優匹配

用splay寫了一發,可不知怎麼TLE 61,還以為卡splay,,,嚇尿了,,最後搞出資料本地跑才發現,是100000個相同的數插入splay,會形成一條鏈,形成一條鏈本來也沒什麼,因為splay一次就好了,但是由於我那個找前驅的函數寫的比較秀逗,於是就T了,我是找小於等於val的最大的元素,如果當前節點大於val,就一直往左子樹找,找到後splay到根就好了,但是!!!有可能找不到,返回一個空節點,然後就將空節點旋轉了,,,相當於沒旋,然後就sb了,,,,

總結:以後一道題目盡量還是用多一點的方法來實現,這樣子可能會發現很多潛在的問題,要不然現場賽會怎麼跪的都不知道,比如今天這個問題,還好CF資料比較強。。。

http://codeforces.com/contest/313/submission/3808238

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.