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.はじめに

 最近また調子が下降気味なので気合を入れなおしたい今日この頃。
 パナ〇ニックグループを冠するコンテストということで難しいのかなーと
 思ったら難しかった・・・。
 ABは軽く行けましたが、Cでブレーキ。
 制約甘いからごり押ししてみましたがTLEを解消できず時間切れ。

 レートは-22で710と急落しました。
 また600台がみえてきた・・・。

1. A - ABC -> AC

 単純に文字列の長さを求めて、真ん中の位置をもめ
 真ん中前後の文字列をくっつけて出力してACでした。

 https://atcoder.jp/contests/abc427/submissions/70024350

2.B - Sum of Digits Sequence

 制約は短いですが素直に都度計算していると
 TLEになるかもと思い、一応集計用リストを作りました。
 【実装】
   1.Nを読み込み
   2.回答用リストAを準備(A[N]が答えになる)A[0]は1
   3.集計用数値リストBを準備(f(A[i])をB[i]に格納)B[0]は1
   4.変数iを1からNまで繰り返し
    -1.変数i毎の回答用変数ansを準備(A[i]に入る値)
    -2.変数jを0からi-1まで繰り返し
     -1.Bの大きさがj+1より小さい時(まだ回答用変数が未計算)
      -1.XにA[j]をセット
      -2.計算用変数bに0をセット
      -3.Xが0になるまで以下繰り返し(f(X)の計算)
       -1.bにX%10を加算
       -2.Xを10で割る(切り捨て)
      -4.Bにbを追加
      -5.ansにbを加算
     -2.Bの大きさがj+1以上の時(回答用変数が計算済)
    -3.Aにansを追加
   5.A[N]を出力    

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

 https://atcoder.jp/contests/abc427/submissions/70036283

3.C - Bipartize

 Nが10までの制約をたのみに以下の実装をしてみました。
 【考え方】(TLE)
  1.頂点数と辺の辞書(頂点毎の辺がつながっている頂点リスト)をもとに
   2部グラフかを判定する関数chkを準備
  2.辺情報を読み込む際、辺の辞書を準備
  3.以下、削除する辺の数 iを0~Mまで繰り返し
   -1.itertools.combinationsを使い、辺リストから削除する辺の数だけ
     削除する辺を選出
   -2.辺の辞書から3-1.の辺を削除
   -3.関数chkをNと削除後の辞書を渡し2部グラフチェック
    2部グラフであれば iを出力して終了
   -4.2部グラフでなければ削除した辺を辞書に戻す

 上記実装で20問中5問のTLEとなりました。

 解説を見て、頂点の白黒全組み合わせに対し、
 2部グラフにするために必要な削除する変数を求める実装をして
 ACとなりました。

 https://atcoder.jp/contests/abc427/submissions/70093985

以上

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?