0
1

More than 1 year has passed since last update.

0.はじめに
 Cのグラフ問題にてこずるも、Dはすんなり解けたので
 意外と高レートをゲットできました。
 ただ、Cはもう少し頑張れば時間内AC頂けたと思うので
 その点は反省・・・。

1.A - Majority
 A問題なので素直に順に読んでカウントして
 過半数が賛成だったらYesを出力。で作りました。
 工夫というか、面倒だったので、賛成判定は
 インプット文字列の文字数で判断しました。

 https://atcoder.jp/contests/abc287/submissions/38379714

2.B - Postal Card
 S文字列は下3桁をリストに入れておいて
 T文字列は辞書登録。
 最後にリストを頭から辞書にあるかチェックしてカウントを
 最後に表示。
 と素直に解きました。

 https://atcoder.jp/contests/abc287/submissions/38386377

3.C - Path Graph?
 パスグラフは各頂点が一直線に並ぶと理解し
 単純に、各頂点について、辺の頂点として現れる数をカウント
  →各頂点のカウントが、1が2つ、そのほかが2
 となればいいのでは!と思い実装。
  →そんな簡単な話でもなくAC30、WA6
 意外といけるかもと微調整するもうまくいかず
 ググると閉路判定が必要ということで、そこらへん含めて実装
 →AC33、WA3 →なんか根本的な問題かなと思いすっ飛ばしました。

 その後解説を見ると、頂点数-辺数=1という条件もあったので
 それを付け加えたら、AC頂けました・・・。
 条件自体は気づいていたので、実装できず無念です・・・。

 https://atcoder.jp/contests/abc287/submissions/38405605

4.D - Match or Not
 自分的には、C問題レベルな気がしながらときはじめ

 考え方
  先頭からみていって一致する部分と
  末尾から見ていって一致する部分で
  Tの文字列が作れるか?を簡単に判断できる方法を検討
 実装方法
  1)リストFCは、先頭からTとSを一文字ずつ比較し
  先頭から一致しなかった場合(同じ文字orどちらかが?ではない場合)文字数を保持
  実際は一致しなくなったらあとは1でいいけど面倒なのでそのように実装
  例)
   aabaa
   aaaa
   FC:0,0,1,1

  2)リストBCは、末尾からTとSを一文字ずつ比較し
  末尾から一致しなかった文字数を保持
  実際は一致しなくなったらあとは1でいいけど面倒なのでそのように実装
  例)
   aabaa
   aaaa
   BC:1,1,0,0

3)xを0からlen(T)まで以下の判定
  xが0の時(後方一致判定)
   BC[x]の値が0ならYes違えばNo(例だとNo)
  xがlen(T)と同じ場合(前方一致判定)
   FC[x]の値が0ならYes違えばNo(例だとNo)
  xがそれ以外の場合
   FC[x-1]とBC[x]の合計が0ならYesそれ以外No
   →例だと、x=2の時、Yes
  出力例)
   No
   No
   Yes
   No
   No
 TLEだけ心配でしたが、余裕でした。

 https://atcoder.jp/contests/abc287/submissions/38413239

5.E - Karuta
 残り30分位でとりかかってみるも、AC17、TLE16。
 時間を減らす工夫が思いつきませんでした。
 ユーザー解説に、ソートすれば前後の文字との比較で済むとあり
 目からうろこでした・・・。
 ソートしてからチェックすれば、TLEも出ずAC頂けました。

 実装
  1)文字列のリストをLに格納
  2)LをソートしたリストSLを作成
  3)SLを先頭から読み込み
   前後の文字列と戦闘から比較して
   辞書にキーを文字列、値を一致する数が多い方を登録
  4)Lを先頭から読みこみ、文字列で辞書を検索して
   値を表示

 https://atcoder.jp/contests/abc287/submissions/38437825 

以上

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1