Codeforces Round #167 (Div. 2 && Div.1)

來源:互聯網
上載者:User

Div2  A : 水題

Div2  B: 把每一個數都變成1,所需要的步數就是這個數的f值(奇數減一,偶數除以2)

Div1  A: 記錄當前最高的高度即可

DIV1 B: SB題 , 會有很多個點的x座標相同,但有可能有一些重點,所以要乘上cnt! / (2^c),由於總的cnt加起來不超過100000,所以,每次暴力算也可以。我開始還在想有沒有什麼模數的技巧。。。。。

DIV1 C:
好像是原題,給你一幅圖,每個點的度數不超過三,要你把點分成兩組,使得每組中不存在某個點有 >=2個鄰接點與其在同一組。

解法:先假設所有的點都在同一組,然後不斷的找兩組中不合法的點,將其放到另外一組(隨便搜過去就好了)

證明:假設兩個點顏色一樣的邊的總條數為M,每次找到一個不合法的點u,有三種情況:

1:u有三個鄰接點且顏色與u相同,那麼將u變為相反的顏色會使得M-3

2:u有兩個鄰接點顏色與u相同,另外一個不同,那麼將u變為相反的顏色會使得M-1

3:u只有兩個鄰接點,將u變為相反的顏色會使得M-2

綜上所述,將某個不合法的點變為相反的顏色總會使得M的數量減少,所以演算法的運行次數是O(M)層級的

代碼


ps: 上面兩題都是考驗計算複雜度的能力,看著很暴力的演算法其實不然。

DIV1 D:

DIv1 E:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.