Hatena::Grouptopcoder

Gus@topcoder

topcoderのid:gusmachineの記録です。普段の日記は揺動散逸日記をどうぞ。
 | 

2012-01-02

SRM 528 practice

16:52

レンシューしてみた。 o o opened 489.42 pts. 本番だと100位くらい?

  • 250 14分 199.07 pts
  • 500 28分(含おやつ) 290.35 pts
  • 1000 opened

250に時間かかりすぎ。まあ罠臭かったので結果オーライかも。

250

大した行数書いてないのに手間取った。うなぎを切るべき順番に並べて切れるだけ切るだけ。

切るべき順番は以下のとおり。

bool compByModDiv(int lhs, int rhs) {
  const int l_mod = lhs % 10;
  const int r_mod = rhs % 10;
  const int l_div = lhs / 10;
  const int r_div = rhs / 10;
  return l_mod != r_mod ? l_mod < r_mod : l_div < r_div;
}

500

DP。N文字目まで読んだ時、青い部分文字列と赤い部分文字列のうち短いほうが長い方のprefixになっていて、

長い方の残りの文字列が x になる場合の数を t[N][s]で表現。これをN = 1より順に計算。

1000

わかってない。

解ける気があまりしなかったので時間外にまとめを見て解法を把握。解法は自分で書いたらバグりまくった。一度systest errorしたのであまり意味ない。

 |