Hatena::Grouptopcoder

敗戦記

2011-05-15

UTPC 2011

| 10:50

オンライン参加のつもりでしたが、ICPCで組む人と顔合わせのつもりで,現地からの参加に変更してもらいました。

A

  • 足すだけ。
    • ファイルをA.cpp,B.cpp・・・みたいにつくっていたのですが、いつもはmain.cppひとつだけだったので、コンパイルに手間取りました。

B

  • ()と文字数奇数の場合に注意して、書く。

C

  • O(2^n)で全探索しました。

D

  • シミュレーション問題。
    • それほど強実装というわけではないですが、(自分にとっては)簡単というほどの問題でもなく、好きなタイプの問題でした。
  • 取り敢えず書くも、最初のサンプルが合わない。
    • '@'か'_'のところがおかしかったので直した。
  • 必ず停止するかを判定するのかと勘違いして3番目が合わない。
    • 直してサブミット。
    • 3つWAってる。
    • メモリ用のブールを15個しか確保してなかった。
    • 1つWA
    • 訪れたかどうかのフラグに方向も含めてAC

E

  • 解いている人がそこそこ多いので、開いてみるもすぐには思いつかない。
  • スモールが16<=nだけど順番全生成だと間に合いそうにない。
  • 仕方ないので飛ばす。

ここらへんで取り敢えず残りの問題を全部読む。

G

  • なんとなくEの次に解いている人が多かったのでこれを考えてみる。
    • ソートして、大きい辺から3つ次に大きい辺から3つ取ってくる方法を試してみる。
    • 通らない。
  • 考えても大きい方から3つ、次に大きいものから3つ取ってくる以外の組み合わせが思い浮かばないので、必死におかしそうなところを探す。
    • long long配列なのに、ソートでgreater<int>を使っていた。
    • 直す。
      • WAが減ったけど半分ぐらいはWAのまま。
  • よく分からなくなってきたので飛ばす。

E

  • もうこれぐらいしか解ける気がしないので戻ってきた。
    • 取り敢えず幅優先でn<=16を通した。
    • よく考えるとbでソートしたあと、bの小さい問題から順に見ていって、n問ファーストアクセプタンスを得るのに必要な最短時間を更新していけば、うまく行くような気がしてきたので書く。

I

  • Gが分からなかったで取り敢えずこれに。
    • xorを使うと、欲しい値以外は0に変換出来るなとか考えて、その値が1になってくれれば解決じゃないだろうかと、ずっと試行錯誤していました。
    • 時間がきて終了。

http://atcoder.jp/contest/8/standing

5問解いて50位でした。

F以降の問題をもう一問ぐらいとけるようにぐらいは成っていたかったように思いました。どうすれば難しい問題が解けるようになるんでしょうかね。

Fの解答を聞いたときはきれいすぎる生成方法にとても驚きました。