1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

0.はじめに

 2週ぶりのコンテスト参戦の今日この頃。
 A~Cがすんなり解けたので、Dへ。
 こちらも久々にDもノーミスで解けて、EかFを・・・
 とチャレンジしましたが、さすがに甘くはなく
 4問ACでフィニッシュ。

 レートはまさかの+56で792に。
 最近自分のレベルはそれほど上がってないのに
 順位が高くなる感じなので、AI関連の規制で
 正答者が減ったのかな・・・でもABCは前から
 AIだめだしな・・・と思いつつの年内緑復帰に
 色気が出てきました。

1. A - Happy Birthday! 4

 親子や兄弟間なんかでたまに話題になったりするシチュエーション。
 【考え方】
  ・いつかは、青木君の年齢のZ倍が高橋君の年齢以上になる年が来る
  ・その時に、ピッタリZ倍か、超えてしまっているかを判定する
  ・単純に二人の年齢を1ずつ増加させて比較しても制約上TLEにはならない

 と、いうことでループを回してXとYに1を足しつつ
  ・Y×ZがXと一致したらYesを出力して終了
  ・Y×ZがXより大きくなったらNoを出力して終了
 といった感じで実装しACとなりました。

 https://atcoder.jp/contests/abc433/submissions/71118407

2.B - Nearest Taller

 今度は背比べの問題。
 制約がN=100と緩いので素直に実装
 【実装】
  1.NとリストAを読み込み
  2.以下iを0~N-1まで繰り返し
   -1.iが0の時は、前に人がいない為、-1を出力
   -2.iが0以外の時
    -1.変数flg(左からi+1番目の人の前にその人より背が高い人がいた場合1そうでなければ0)に0をセット
    -2.以下、jをi-1から、0まで1ずつ減らす形でループ
     -1.A[j]>A[i]かつ、flgが0の時
      -1.j+1を出力
      -2.flgに1をセット
    -3.flgが0だった場合-1を出力

 上記実装でACとなりました。。

 https://atcoder.jp/contests/abc433/submissions/71125193

3.C - 1122 Substring 2

 先頭から順にみていきながらの判定で行けそうかなと判断
 【考え方】
  ・先頭から文字列を見ていき、同じ文字の場合はその文字の連続数をカウント
  ・文字が変わった場合、前の文字と今の文字の差が+1の場合
   前の文字と今の文字の連続数の小さい方を答え用変数に加算
  ・文字が変わった場合で、前の文字と今の文字の差が+1ではない場合は
   今の文字の連続数のをカウントしていく
  ・上記を繰り返し、最後に答え用変数を出力

 上記を実装してすんなりACとなりました。

 https://atcoder.jp/contests/abc433/submissions/71139692

4.D - 183183

 Dにしてはやさしめかなーと思いつつ解答。

 【考え方】
  ・f(x,y)がMの倍数となるのはx※とyそれぞれをMで割った余りを足した値がMで割り切れる場合
   ※ただし、xは単純にxではなく、x×(10*yの桁数乗)で計算
  ・Aiは最大10桁
  ・Aiそれぞれについて、後ろに1桁~10桁着いた場合の数を求め、その余り(関数fのxとなった場合の余り)を計算し
   辞書に桁数と余りのタプルをキーとし、その個数を値として格納
  ・Aiそれぞれについて、その桁数と余りを求め(関数fのyとなった場合の余り)
   桁数とM-余り(余り0の時は0)のタプルで辞書を検索し、値を答え用変数に格納
  ・最後に答え用変数を出力

 例題3を実行中に10桁まで必要な事とxとyどちらも余り0の場合が考慮されていないことが分かり助かりました。

 https://atcoder.jp/contests/abc433/submissions/71154610

以上

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?