2010年9月26日星期日

SRM 483 - 0分 悲劇

 "期待"已久的 Rating 大跌的時機終於來了...
極度低落中...



賽情:


比賽一開始
便緊張得錯誤開啟了 500... -_-
看完 250 是一道比較直接的整數除法 (好似係)
稍為冷靜以後, 總算把 250 慢慢的 (202.xx) 搞定...

然後開 500... 想了又想, 想出了算法: DP + bit pattern

中段開了 Division Summary 看...
很多人提交了 900... 有很多甚至時 800 以一的提交...

但自己把心一橫, 堅持做 500
比賽臨終時, 才發現 Transition 錯了...
不能只 consider 上一格 array element

再看看 Division Summary 及 Room Summary
悲劇了... 大量 900 的 Submission...
現在的 Challenge Phase, 絕大部份的 900 依然屹立不倒



縱使250通過了
跟絕大部份參賽者的分數差距將會極之大...

這次的悲劇不是一般的...
Rating 真的要急急的大跌了...



[事後孔明] 我應該一早這樣想:
既然500的分數已經流失了這麼多, 倒不如直接捨棄500, 死攻900?[/事後孔明]



System Test 以後:


正當我在想... NSA 搞的比賽... 900居然如此... 之時
突然間發現, 絕大部份的900沒有通過...!!
再看一看自己房間, 提交900的選手全部掛了...
整個 Division 1 只有僅僅6名選手通過900

正當我心情立刻轉晴之時...
驚見我的250掛了!!

稍為一想...才發現, 我的算法其實是錯的...
眼以為 For B := 1 to maxLen 用整數除法計算最接近的 A
再調試 A+1 就行
其實這不行的...

因為, 題目要求只比較頭若干個小數位...
所以有非常大的機會存在 (A-1) / B s.t.
所得之 與 input 的 LCP 長度 跟 A / B一樣...

太挫了... 這次我
好大的教訓...



結果:


是次 Rating 大瀉 132  => 我的七月至八月期間的 Rating 完全失掉



另外... Petr 悲劇地 3 題全 Fail...
這狀況極為罕見呀...
他的 Rating -156...



900's solution - 二分 + 卡時地暴力枚舉:


看看 Burunduk1 卡時地過 900 的 code

非常有趣的一句:

  int start = clock();
  ...
  for (int i = mi - 1; i >= 1; i--)
  {
    if (clock() - start > 1.85 * CLOCKS_PER_SEC)
      break;
    ...
  }

沒有留言:

發佈留言