2020/11/1に開催されたAtCoder Regular Contest 181に参加しました。
ここ最近のコンテストでは緑パフォの連続で順調にレーティングも上がってきてます。今回もなんとか4完ぐらいできればレート上昇するだろうという感覚で臨みました。
AtCoder Beginner Contest 181 - AtCoder https://t.co/ArLm8KC58a
— devgenjin77 (@devgenjin77) 2020年11月1日
参加します。4完以上はできるよう頑張ります。
今回の結果
で、今回もノルマ通りというか、いつもの4完で終了でしたー。
それでも、安定の緑パフォだったのでレートは少し上昇。着々と入緑に向かっています。
devgenjin77さんのAtCoder Beginner Contest 181での成績:2018位
— devgenjin77 (@devgenjin77) 2020年11月1日
パフォーマンス:970相当
レーティング:743→769 (+26) :)
Highestを更新しました!#AtCoder #ABC181 https://t.co/4dSpaWmLxE
4完緑パフォでHighest更新しました。入緑まであと少しです。
振り返り
もう少しで5完までいけそうでしたが、力及ばずでしたー。
A問題
が奇数なら'Black'、偶数なら'White'を出力するだけ。
問題なくAC。
B問題
与えられるについて、等差数列の和の公式を使って合計値を算出するだけ。これも問題なくAC。
C問題
「競技プログラミング 同一直線上」でググってみた。
すると、A,B,Cの3点があり、ABの傾きとACの傾きが同じだったら同一直線上、というやり方をすればよいと書いてたので、そのまま実装しました。
ということで、これも難なくAC。
D問題
「8の倍数判定法」でググってみた。
すると、下3桁が8の倍数だったらOK的な解説があったので、とりあえず8の倍数で3桁且つ’0’を含まない整数を羅列しておき、その後数字列が8の倍数の3桁の数字いずれかを作成できるかを判定させるという方式で実装しました。
実装に少し時間がかかったものの、何とかAC。
E問題
根拠はないが、とりあえずペアの身長の差の絶対値の和を最小化するには、身長順でソートしたあと隣同士でペアを組ませればいいんじゃねという発想に至る。
あとは先生の身長のパターンが個あるので、そのそれぞれについて、前述の考え方で計算した結果の最小値を求めればOKと思われる。
さらに、1回1回これを愚直に計算すると計算量が大きくなり、TLEの恐れもあることから、累積和を使って効率化すれば完璧。
ということで実装に入ったのですが、なかなか上手い実装方法が思いつかず、さらに時間も切迫していることで焦ってしまい結局うまくまとめることができずで、結局時間切れ負けを喫してしまいました。
解説だけ確認すると、考え方自体はあってたみたいなので、あとは実装力が不足していたということでした。
F問題
一読して解法が思い浮かばすなので早々に諦めでした。
これまでの実績
安定の緑パフォが継続しており、レーティングも7回連続上昇となりました。
総括
今回ぐらいの難易度だと5完は達成したかったなーという印象ですが、如何せん実装力がまだ追い付いていないのが問題かと思います。
今後数をこなして強化していきたいというところです。
また、次回も頑張ります。