プログラミング未経験者が Atcoderの成長を記録する

プログラミング未経験の人が競技プログラミングの進捗を残していくブログ。未経験からどれくらいでどのレベルまでいけるのか検証。 2020年3月頃よりプログラミング環境を導入。Pythonで書いてます。

進捗

進捗

 

レートが多少上がったが,主にA~C問題の早解きでパフォーマンスが出ているような気がしてる.(500くらい)

当面は問題をこなしつつ,安定してA~C問題をサクッと解けるようになりたい.

f:id:shoeast1122:20200606142813p:plain

 

 

Atcoder Problemsに関しては,Current Streakが37日いっているのは,割とよくやったとほめたい.(簡単な問題だけササっとする日もあったが)

当面は茶をめざして,diff100~400の問題に挑戦していきたい.

 

f:id:shoeast1122:20200606142818p:plain

PAST

第三回アルゴリズム実技検定を受験した.

 

past.atcoder.jp

 

試験時間5時間ととにかく長かったが(3時間ちょいで離脱した)できる問題だけでも解こうと奮闘した.

 

結果は31点でエントリー

 

まあ,灰コーダーですので,妥当っちゃ妥当.9月までにどれだけ伸ばせるだろうか.

TLEやもうちょいで行けそうな問題2つは,よく解説を参照したい.

 

f:id:shoeast1122:20200606142402j:plain

 

ABC168

昨日はABC168であった.

Bでは上回るを以上と勘違いしてWAを出す残念さ.

Cは中高受験にありそうな時計の問題と余弦定理を組み合わせた.

 

ここまではいいのだが,案の定D以降は訳が分からない.

解説を見たところDFS(深さ優先探索)を用いて考えるとのこと.

 

qiita.com

 

前回のbit全探索同様,こちらの考え方も習得していかないといけない.

 

 

 

あと,先日友人におすすめされていたProgateのpython編をやってみた.

 

prog-8.com

 

この教材は初心者にかなり優しい.

私はAtCoderからプログラミングに入ったため,コーティングに関して全く基礎知識がない.これまで自身が身に着けてきたコードの書き方がどうかという点で,学ぶことは多いと思う.

ループ文以降の学習は有料(980/月)だったので,ひと月入会してみようと思っている.

これでコーティングの幅を増やしたいところだ.

 

 

f:id:shoeast1122:20200518153151p:plain

 

bit全探索

問題

N個の整数Aiが与えられる.N個の整数から0個以上を選び,その和を取った値は何通り考えられるか.(1<=N<=8, 1<=Ai<=100)

<例>

N=3,A={1,3,4}の場合,各数字を選ぶor選ばないで,2^3通りが考えられる.

f:id:shoeast1122:20200512233647p:plain



ABC079C

f:id:shoeast1122:20200512233508p:plain

 

bit全探索の考え方はある程度理解したが,ABC147CABC128Cのように,もう少しひねった問題ははまだうまく実装できていない.

他のdiff200クラスの問題をコンスタントに解きつつ,合計AC数が200を超えたあたり(まだ100いってないくらい)でもう一度立ち戻りたい.

ABC167

昨日ABC167に参加した.

競プロを初めて一か月ちょっと,A問題とB問題を合わせて20分程度で,安定的に解けるようになってきたと感じる.

 

しかし,ここで初めての壁にぶつかったとも感じており,C問題(diff400程度)から解けない.ABC167のC問題では「bit全探索」と呼ばれる,割と有名な解法があったらしく(Twitterのトレンドにも入ってた),有名どころのアルゴリズムを勉強するべきなのだと感じた.

さらっと検索しただけでも,「線形計画法」「動的計画法(DP)」「幅優先探索(BFS)」「深さ優先探索(DFS)」など,様々な手法が見受けられた.

とりあえず今週はAtcoder ProblemsのRecommendationを解きつつ,bit全探索の勉強を
したいと思う.

 

こちらが現在の実力.

9月ころでの入茶を目指したい.

f:id:shoeast1122:20200512003042p:plain

f:id:shoeast1122:20200512003125p:plain

 

Atcoder problems 進捗

ゴールデンウィークあたりにAtcoder Problems

https://kenkoooo.com/atcoder/

に登録して、自身の進捗を確認できるようにした。

以下が、ほぼ3週間程度で積み上げた進捗。

 


f:id:shoeast1122:20200511014824p:image

f:id:shoeast1122:20200511014736p:image

 

Problem Aを通して、Pythonでのプログラムの記入様式?書き方にある程度慣れてきたので、この調子で進めてゆく予定。

そういえば、このサイトのRecommendation のところに、自身が解けそう率80%,50%,20%の問題をそれぞれ用意してくれる。

 

とりあえず、解けそう率80%と50%の問題を毎日それぞれ1〜2問ずつ解いて行くのを日課にしたいところ。

連続AC提出日数 (Longest Streak)も30日目指したい。

 

 

競技プログラミング始めました

これまでプログラミングを触って来なかった人生ですが、ある程度触れるようになりたいなと思い、競プロ(Atcoder)を始めました。

ホントは3月下旬にAtcoder Beginner Contestデビューしましたが、何回かコンテストに参加するうちに備忘録を取りたいと思い、はてなデビューです。

 

凡人かつ全くの初心者が競技プログラミングを始めると、どれくらいでどのレベルまでいけるのか検証してみます。

 

そのための記録を残していく所存ですので