ABC324

6完1ペナ。昼間のTTPCよりは体感調子良かったけど、難しいことをやっていないからそう感じるだけかも。最近ABCはやる気ないというか、わりとどうでもいいと思っているところはある。レーティングはけっこう気にしているが。なんかTL長い問題が多かった。

A - Same

STLでできた気もするけど、自分で書いたほうが速い。それぞれA_1と比較する。1分切り。あーstd::setを使うという手があるのか。

B - 3-smooth Numbers

2と3で割れるだけ割る。他のものがなければ1になるのでそれで判定。

C - Error Correction

ABが簡単で嬉しくなっていたらこれだよ。これ実装が重いだけでなく1文字削除が難しいんだよな。18分を消費。

D - Square Permutation

作れる数は10^13未満なので平方数列挙しても10^6.5、そこにNが掛かっても間に合う。文字列をソートしてstollで最大値を得る。数字の頻度をカウントしておいて各平方数が一致するか見る。もちろん0は平方数なんだけど、for文を0から始めるのがAtCoderでは珍しい形で危険を感じた。

E - Joint Two Strings

しゃくとりで前後数えて、片方を全部試して相手が何通りか。しゃくとりで毎回進む必要あるのにそうしてなくてWA。形で覚えてるから気づきようがない。

F - Beautiful Path

典型+典型みたいな問題。DAGなのでDPは簡単。ターゲットの比率に対する貯金を考えれば二分探索できる。

G - Generate Arrays

BITを使って、元の数列をいじらずどこからどこまでの区間で何以上何以下のものという情報の持ち方をするみたいのを考えていた。が、できそうでできない。