0.はじめに
金曜夜から土曜朝にかけた勤務のおかげで眠気が収まらない今日この頃。
今回は、Cのインタラクティブ問題で躓き、D問題も解法が思いつかず
試験時間を30分残しそのまま就寝・・・。2完で終了でした。
全体的に難しかったのかレートは-25の761と思ったよりは落ちませんでした。
1. A - Compromise
リスト内の値がすべてマイナスならYes、そうでなければNoを出力する問題。
フラグを立てた状態でリストを見ていき、0以上の値があったらフラグをおろす。
最後にフラグが立ってたらYes、そうでなければNoを出力して終了。
https://atcoder.jp/contests/abc466/submissions/77344630
2.B - Representative Balls
球の色とサイズが与えられ、色毎の最大サイズを出力する問題。
【考え方】
1.M色の色毎のサイズを持たせるリストCを-1で初期化
2.cとsを入力したらC[c]にC[c]とsのうち大きい方をセット
3.最後にCを出力して終了
https://atcoder.jp/contests/abc466/submissions/77349958
3.C - Count Close Pairs
コンテスト時は直感のまま作って提出しましたが
REとなりました。おそらく、2N回の制限をオーバーしたものと思われます。
その後いろいろしてもうまくいかず諦めてしまい
翌日かいせつをよんだところ尺取法で意外と簡単に解けることが分かりました
【実装】
1.Nを入力
2.回答用変数ansに0をセット
3.点毎に距離1以内で到達できる点を格納するリストM(N+1項目)を
位置の値で初期化。(M[1]に1、M[2] に2・・・・M[N]にNをセット)
4.調査の起点Lに1、調査する点Rに2をセット
5.以下LがNになるまで繰り返し
-1.LとRがおなじ時、Sに”Yes”をセット
-2.LとRが異なる時
-1.?,L,Rを出力
-2.Sを入力
-3.SがYesの時
-1.RがNの時、M[L]からM[N]にNをセット
-2.RがN以外の時、Rに1を加算
-4.SがNoの時
-1.M[L]にR-1をセット
-2.Lに1を加算
6.iを1~Nまで遷移させ、ansにM[i]-iを加算
7.!、ansを出力して終了
https://atcoder.jp/contests/abc466/submissions/77418065
4.D - Placing Rooks
一旦RとCを全て読み込み、後ろから見ていき既に置かれていない行列の時にだけ
置ける数をカウントし置いたら置いた行列を記憶する形でいける!と提出したところWA13に。
頭も働かず諦めて、翌日解説を見たところあと一歩といったところでした。
既に置かれていない行列の時にだけ置ける数をカウントする形は間違っていませんでしたが
置いた行列を記憶するのではなく、全ての行列を記憶(後ろから見て置けなくてもクリアわされている)しないと
行けないことが分かりました。
https://atcoder.jp/contests/abc466/submissions/77423433
以上