Codeforces Round #187 DIV 1

來源:互聯網
上載者:User

題目連結



B題:事實證明是sb題,而且證明自己比題目還傻。。
C題:設dp[i]表示當前以數字i結尾的所有合法子序列乘積的總和(非遞減),那麼新插進來一個數K的時候,我們要更新dp[K],
dp[K] =( dp[0] + dp[1] + dp[2] +... + dp[K] ) * K  - dp[K]; 所以要用到個東東動態統計首碼和
比如1 2 3 3
插入最後一個3的時候,前面有這麼寫東西(1) (2)(3)(1 2)(1 3) (2 3),然後插入一個3相當於在每一項的後面增加一個
3,但是別忘了要減去原來以3結尾的,因為算重複掉了。

http://codeforces.com/contest/314/submission/3843964

D題:先膝跳反射想到二分, 但如果不將座標系旋轉,很難搞,,,以後這種題盡量把座標旋轉也當成非條件反射好了。。
我們可以將點的座標逆時針旋轉45度,,這樣子題目中的那兩條相互垂直的線就分別跟座標軸平行了。。
然後
1 : 旋轉45度(x,y) ->(x-y,x+y)(這個方法將座標之間的距離也擴大了sqrt(2)),座標仍然為整數,比較好。。
2 : 最短的曼哈頓距離是最短距離的sqrt(2)倍,所以如果是將原圖不變的旋轉,算出的答案要乘sqrt(2)
3 : 驗證的時候只需要維護兩條距離為2*mid的豎線掃過去,然後如果在豎線外部的點的Y的最大值與最小值之差小於等於2*mid,當前位置就可以放兩條線了,一條在兩條豎線中間,另一條在外部的最高點與最低點中間。。

http://codeforces.com/contest/314/submission/3854573

Summary : 比賽的時候思維還是不夠獨立,都只能想個大概,以後直接從B題開始看好了,,後面的做出一個再去看看A。。

聯繫我們

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