AtCoder Beginner Contest 181 参加記

2020/11/1に開催されたAtCoder Regular Contest 181に参加しました。

atcoder.jp

ここ最近のコンテストでは緑パフォの連続で順調にレーティングも上がってきてます。今回もなんとか4完ぐらいできればレート上昇するだろうという感覚で臨みました。

今回の結果

で、今回もノルマ通りというか、いつもの4完で終了でしたー。

ABC181結果

ABC181結果

それでも、安定の緑パフォだったのでレートは少し上昇。着々と入緑に向かっています。

振り返り

もう少しで5完までいけそうでしたが、力及ばずでしたー。

ABC181提出結果

ABC181提出結果

A問題

A - Heavy Rotation

 Nが奇数なら'Black'、偶数なら'White'を出力するだけ。

問題なくAC。

B問題

B - Trapezoid Sum

 与えられるA_i,B_iについて、等差数列の和の公式を使って合計値を算出するだけ。これも問題なくAC。

C問題

C - Collinearity

 「競技プログラミング 同一直線上」でググってみた。

すると、A,B,Cの3点があり、ABの傾きとACの傾きが同じだったら同一直線上、というやり方をすればよいと書いてたので、そのまま実装しました。

ということで、これも難なくAC。

D問題

D - Hachi

 「8の倍数判定法」でググってみた。

すると、下3桁が8の倍数だったらOK的な解説があったので、とりあえず8の倍数で3桁且つ’0’を含まない整数を羅列しておき、その後数字列Sが8の倍数の3桁の数字いずれかを作成できるかを判定させるという方式で実装しました。

実装に少し時間がかかったものの、何とかAC。

E問題

E - Transformable Teacher

根拠はないが、とりあえずペアの身長の差の絶対値の和を最小化するには、身長順でソートしたあと隣同士でペアを組ませればいいんじゃねという発想に至る。

あとは先生の身長のパターンがM個あるので、そのそれぞれについて、前述の考え方で計算した結果の最小値を求めればOKと思われる。

さらに、1回1回これを愚直に計算すると計算量が大きくなり、TLEの恐れもあることから、累積和を使って効率化すれば完璧。

ということで実装に入ったのですが、なかなか上手い実装方法が思いつかず、さらに時間も切迫していることで焦ってしまい結局うまくまとめることができずで、結局時間切れ負けを喫してしまいました。

 解説だけ確認すると、考え方自体はあってたみたいなので、あとは実装力が不足していたということでした。

F問題

F - Silver Woods

一読して解法が思い浮かばすなので早々に諦めでした。

これまでの実績

安定の緑パフォが継続しており、レーティングも7回連続上昇となりました。

コンテスト実績

コンテスト実績

総括

今回ぐらいの難易度だと5完は達成したかったなーという印象ですが、如何せん実装力がまだ追い付いていないのが問題かと思います。

今後数をこなして強化していきたいというところです。

また、次回も頑張ります。