2023-08-01から1ヶ月間の記事一覧

AtCoder Beginner Contest 214 C - Distributionの勉強

atcoder.jp・参考: DPのやり方はDistribution [AtCoder Beginner Contest 214 C] - はまやんはまやんはまやん ダイスクラ法はEditorial - AtCoder Beginner Contest 214を参考にした。・説明: この問題は2つやり方があり、DPとダイスクラ法でできる。 注意…

atcoder ABC317 E - Avoid Eye Contactの勉強

atcoder.jp・参考 Editorial - GAMEFREAK Programming Contest 2023 (AtCoder Beginner Contest 317)・説明 参考記事をPythonで実装した。 注意点としてBFSのcontinueする条件は s[nx][ny]!='.' とすると s[nx][ny]='G'(ゴール) のときをスルーしてしまうの…

atcoder ABC 317 D - Presidentの勉強

atcoder.jp・参考 Editorial - GAMEFREAK Programming Contest 2023 (AtCoder Beginner Contest 317)・説明 参考にも書いてあるが、ナップサック問題のDPと同じように解ける。dp[n]はn議席獲得するために必要な鞍替えさせる最低限の人の数である。 今回は鞍…

atcoder ABC317 C - Remembering the Daysの勉強

atcoder.jp・参考 Editorial - GAMEFREAK Programming Contest 2023 (AtCoder Beginner Contest 317)・説明 引数に頂点vとvまでの長さlengthを持つ、DFSをしていく。最大の長さをansとして、length>ansのときansを更新していく。注意点として帰りがけに頂点v…

atcoder ABC212 D - Querying Multisetの勉強

atcoder.jp・参考 Querying Multiset [AtCoder Beginner Contest 212 D] - はまやんはまやんはまやん・説明 優先度付きキューのheapqを使う。操作2では全体に足されている値をoffsetで管理する。 heapq.heappushするときにXiでなくXi-offsetを加えることに注…

Kaggle Predict CO2 Emissions in Rwandaの勉強

・やったこと コードで評価が高かったPSS3E20 EDA which makes sense ⭐️⭐️⭐️⭐️⭐️ | Kaggleを参考にして勉強した。 特にBaseline modelの部分で何をしているか見る。プログラムの解読は下のコードのコメントでしている。・プログラム #import import numpy as…

atcoder ABC 314 E - Roulettesの勉強

atcoder.jp・参考 AtCoder Beginner Contest 314 - YouTube・説明 参考動画の実装をPythonで行った。プログラムの説明は下でコメントアウトしている。 ・実装 n,m=map(int,input().split()) c=[] p=[] s=[] for _ in range(n): l=list(map(int,input().split…

atcoder ABC311 E - Defect-free Squaresの勉強

atcoder.jp・参考 AtCoder ABC 311 E - Defect-free Squares (水色, 475 点) - けんちょんの競プロ精進記録・説明 dp[i+1][j+1]のi+1,j+1はSのi,jマスの最大辺である。また参考記事の場合、indexを合わせるなら,for (i=1;iアルゴリズム入門講座: 最大正方形…

atcoder ABC314 C - Rotate Colored Subsequenceの説明

atcoder.jp・説明 moziで色ごとに文字を管理して、indeで文字のもともとのインデックスを管理する。プログラムは for i in range(n): mozi[c[i]-1].append(s[i]) inde[c[i]-1].append(i) で色ごとに文字をmoziリストにいれて、 for i in range(m): mozi[i]=m…

atcoder ABC114 C - 755の勉強

atcoder.jp・参考 AtCoder ABC 114 C - 755 (緑色, 300 点) - けんちょんの競プロ精進記録・説明 参考記事をPythonで勉強した。全通り試すのではなく、3,5,7を桁に追加して再帰関数を回していけば良い。値がnを超えれば終了になる。 n=int(input()) #ansをも…

atcoder ABC161 D - Lunlun Numberの勉強

atcoder.jp・参考 AtCoder ABC 161 D - Lunlun Number (緑色, 400 点) - けんちょんの競プロ精進記録 ・説明 参考記事のように、再帰関数で実装した。最大10桁までのルンルン数を求めてallにルンルン数を入れていく。あとはソートしてK番目を出力する。 また…

atcoder ABC165 C - Many Requirementsの勉強

atcoder.jp・参考: よくやる再帰関数の書き方 〜 n 重 for 文を機械的に 〜 - けんちょんの競プロ精進記録・やったこと:参考記事の内容をpythonで勉強した。長さがNのリストAをDFSで全探索する。その時の得点(score)が一番高いものがansになる。 #参考:ht…

atcoder ABC310 D - Peaceful Teamsの勉強

atcoder.jp・参考: AtCoder ABC 310 D - Peaceful Teams (水色, 400 点) - けんちょんの競プロ精進記録・やったこと:参考記事をpythonで実装した。dfsで全探索することを使う(参考、 よくやる再帰関数の書き方 〜 n 重 for 文を機械的に 〜 - けんちょんの…

atcoder ABC313 B - Who is Saikyo?の勉強

atcoder.jp・参考: AtCoder ABC 313 B - Who is Saikyo? (灰色, 300 点) - けんちょんの競プロ精進記録・説明: 参考記事のやり方のうち2つをpythonで実装した。 1つ目は、一度も負けていない人を最強とする方法でtmpで負けた人のindexを0にする。負けてい…

atcoder ABC313 C - Approximate Equalization 2の勉強

atcoder.jp・参考: drken1215.hatenablog.com・やったこと:参考記事の考え方でpythonで実装した。 n=int(input()) a=list(map(int,input().split())) a.sort() avg=sum(a)//n rem=sum(a)%n #あまり #print(avg,rem) b=[avg for _ in range(n)] #aを変形し…

atcoder ABC312 C - Invisible Handの勉強

atcoder.jp・参考: ABC312 C問題(Invisible Hand)を解く - プロひろ・説明:二分探索で解く。okとngを二分探索で更新していきokが最終結果になる。( 二分探索アルゴリズムを一般化 〜 めぐる式二分探索法のススメ 〜 - Qiita を参照) import bisect n,m=m…

atcoder ABC 312 B - TaK Codeの復習

atcoder.jp・説明:左上と右下が一致しているか愚直にif文を書く。一致していたらflad,cntを加算する。全部一致したらOK。 n,m=map(int, input().split()) s=[input() for _ in range(n)] ans=[] for i in range(n-8): for j in range(m-8): flag=0 cnt=0 if…

atcder ABC310 B - Strictly Superiorの復習

atcoder.jp・参考: ABC310 B問題(Strictly Superior)を解く - プロひろ・備考:本番でWAが消せなかったので復習。基本的には問題文の条件の通りにやればよい。 n,m=map(int, input().split()) p=[] c=[] f=[] for _ in range(n): l=list(map(int, input()…