2011-10-15

[] RUPC2011 22:38 はてなブックマーク -  RUPC2011 - TopCoderの学習のお時間

4時間とは珍しい

  • A
    • これはやるだけ
    • 復号なので後ろからやらないといけないことを忘れていてサンプルが合わずにちょっと時間かかった
  • F
    • Bから先を読んでいったら問題文がシンプルだったのでやる
    • 前計算しとけば良いよね
    • 互いに素でないものの数を列挙しないといけないところ、勘違いして約数だけを列挙していたのでWA
    • いったん飛ばす
  • C
  • D
    • 各宝珠に到達するまで最短で何歩かを記録して一ステージずつ進める
    • 「宝珠に触れる」が、宝珠と同じマス上に乗らないといけないのか隣のマスに行けばいいのかどちらかわからなかった
      • サンプルから前者だと導出
    • 入力が「スペースで区切られたw個の文字から構成」とあったので数字は1~9までしか無いものと思っていたら二桁のものもあってハマった
    • 宝珠を表す変数名ちょっと悩んで"crystal"にしたけどそれでいいんだろうか
  • E
    • 普通な感じのDP
    • 計算量1000*100*100*100になってちょっと心配したけどリミット8秒だし問題なし
  • F
    • 不本意ながらtotientでググって効率のいい実装方法を調べて実装
  • B
    • 丁寧に規則を実装する。国語ゲー
  • G
    • 実装がんばる系か
    • 途中まで書いたけどいろいろ考えが浅かったことに気づいていったん放置→そのまま再び手を付けることなく終了
  • H
    • まあDPなんだろうなと思いつつも手が出ず
  • I
    • 一瞬JavaのAWT使って交差判定とかを全部そちらに丸投げする形でできないだろうかとか思ってしまった(できなさそうだった)
    • 任意の二つの扇形の交点と、任意の扇形の最も上の点・下の点が位置する点のy座標を一覧したのをソートして、そいつらの隣り合った点の中間y座標についてx方向にスイープして調べる、とかかなあ
    • 全く手はつかず

A~Fの6問 penalty667 19位

前半ミス出し過ぎた

[] SRM521 21:26 はてなブックマーク -  SRM521 - TopCoderの学習のお時間

http://community.topcoder.com/stat?c=coder_room_stats&cr=22744421&rd=14546&rm=310212

  • 250
    • 何この典型問題
    • スタックっぽくやる
    • (と)が逆になったりしてちょっと手間取ってしまった。失敗
  • 500
    • 問題の意味がわかりづらい
    • なぜかvertexを「対角線上」と訳してしまって混乱していた
    • あと問題文に「正方形の辺上にある点はcontainsです」という一文があったので、containsなのは辺上の点のみと解釈してしまった
      • こういった例外的な部分の注釈が入る場合は、そうじゃない部分も明確に定義していてあったほうが良かろう
    • 点の数が40だから半分全列挙とか考えたけどさっぱり見えないのでサンプルを丁寧に解析していく
    • と答えが合わなくて問題文の解釈違いに気づいた
    • 残り8分くらいで、四角形の上下左右を決めたらO(N^5)でできそう、と見えてきたけど間に合わない
  • 1000
    • 500がわからないのでチラ見した。そんなに難しくなさそう
    • 状態は3列分だけ取っておけば良いのか、とそのくらい考えたまで
    • 500をやめてこっちに取り組んでいた方が良かったようだ
  • Challenge
    • 完全に250の早解き競争になっているけど失敗してしまったのでチャレンジ成功させないとどうしようもない
    • ")("で落ちるのを見つけたが慎重に確認しているうちに取られた
    • 誤読して1ミス
  • System Test
    • 250は通った
    • 部屋でChallengeされ残しはなし

結果

  • 242.72 + 0 + 0 + (50*0 - 25*1) = 217.72
  • 532位/706人
  • 2227->2074