【AtCoder25週目】競プロ初心者が6ヶ月で水色コーダー目指す学習記

期間は6ヶ月(25週間)とし、水色コーダーを目指します。

今日が2022年9月17日(土)で、9月20日までの半年の期間で学習を進めます。

6ヶ月と決めて、最後の週になりました。

 

Atcoder学習、最初の週はこちら


atcoder-logo

【AtCoder1週目】競プロ初心者が6ヶ月で水色コーダー目指す学習記

今週学習したこと

学習内容

・分野別学習(全探索)

@e869120さんの記事の分野別学習記録

レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】

基本アルゴリズム12個を学ぶと良いようです。

各記事ボリュームがありますが、まずは12個基本を押さえます。

全探索 二分探索 深さ優先探索 (DFS) 幅優先探索 (BFS)
動的計画法 (DP) ダイクストラ法 ワーシャルフロイド法 クラスカル法
高速な素数判定法 べき乗を高速に計算する手法 逆元を計算する手法 累積和

今週はレッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】で全探索の学習を進めました。

atcoder-all-search

 

  • 全探索
  • 工夫して数を減らす全探索
  • ビット全探索
  • 順列全探索

全探索については、10問ほど解いて使うモジュール(permutationなど)がわかったのでよしとします。

 

筆者の学習歴

学習歴はこんな感じです。

筆者の競技プログラミング歴

・利用言語はPython3

・Pythonの利用は業務で少し

・学習は「みんなのPython」を読んだくらい

・ABCコンテストには数回参加した(解けるのは1〜2問)

競プロではC++を使う方が多いかと思いますが、筆者はPythonのシンプルさに感動したためPythonで取り組みます。

毎週のAtCoder Beginner Contest(ABC)をペースメーカーにしていきます。

今週のコンテスト

ABC267

ABCに参加してきました。

ABC268

abc268

2問AC、茶色パフォーマンスでした。

A、B問題しか解けませんでした。

ARC結果

AC:2問

パフォーマンス:524

レーティング:393→407(+14)

段級位:8級

茶色に復帰しました

結果

A問題

5 Integers

与えられる5つの数字に何種類の整数があるか出力せよ。

1分50秒(所要時間1分50秒)でACしました。

a=list(map(int,input().split()))
s=set(a)
print(len(s))
B問題

Prefix?

与えられる2つの文字列S、TについてSがTの接頭辞かどうか出力せよ

5分30秒(所要時間3分30秒)でACしました。

「startswith」を使えば速かったですが、思いつかなかなったので、Sの文字数分のループを組みました。

a=list(input())
b=list(input())
if len(a)>len(b):
print('No')
exit()
else:
flag=True
for i in range(len(a)):
if a[i]!=b[i]:
flag=False
break

print('Yes') if flag else print('No')
D問題

Unique Username

残り時間をはC問題を考えましたが、解答を提出できませんでした

 

次の目標

目標:緑色パフォーマンスを出せるようにする

緑色昇級のため、目標を整理しました。

学習内容

・A・B問題を高速で解く(理想5〜10分以内)

・C・D問題をどちらかあるいは両方解く

安定して茶色パフォーマンスを出し、できれば緑色パフォーマンスを目指します。

 

6ヶ月Atcoderをやってみた結果

  • 結果:レーティング407(茶色)
  • コンテスト出場回数:26回

6ヶ月Atcoderに取り組んだ結果は、407(茶色)でした。

まだABCのC問題、D問題につまる時が多いですね。

水色には全然届きませんでしたので、悔しさがあります。

3ヶ月の延長戦(2022年の年末まで)をやります

 

今度こそ水色を目指します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です