ctyl's problem solving

競技プログラミングが主な話題です。

Codeforces #320 div2

Codeforces 2回目の参加.

まず結果

A,Bの2完.1581 -> 1533 (-48)

やはりCで間違いの原因がわからずWA*7を出してしまい,終了2分前に考えのミスに気づいてしまったのが響いてしまった・・・

 

A: 倍々ゲーム(ただし途中で何度でも1を足すことができる).指定の数字を実現するのに必要な1は幾つかという問題.やり方は単純で1のbitが立っている数を数える.

 

B: 2n人が任意にペアを組んだ時の攻撃力が与えられ,最強の最強のn組の組み合わせを求める問題.単純に大きい攻撃力の組から順々に決めるのだが,priority_queueを使った(学びたてだから使いたくなった)からか実装はだいぶかかってしまった.たぶんこんなの使わなくても解けるんだろうなあ

 

C: (0, 0) – (x, x) – (2x, 0) – (3x, x) – (4x, 0) – ... - (2kx, 0) – (2kx + x, x) – ....を通るギザギザのグラフがあって,与えられた座標をそのグラフが通過するxの最小値を求める問題.間違いの原因はわかったものの具体的なアルゴリズムに関してはまだわからず・・正解者数的にあまり難易度は高くないと信じて時間がある時に通したい.おそらく2分探索を使うのだろうと思うけれど・・(勘)

 

実装の穴や発想の穴を見つけられないとどうしても時間がかかってしまう.大会に限らずyukicoderでも.うーんどうすればいいものか.いろいな人のソースコードを参考にさせて頂くときもあるのですが,なかなか意図を読み解くのも時間かかってしまいますね・・練習量と思考の深さ次第というところでしょうか

 

SRMもCFも不甲斐ない結果だったので,次はせめて上り坂にしたい.