ABC189参加記

5完 321 位でした。

A

入力をsortしてs[0] == s[2]とするのが(数列が全部一緒かどうかを判定する)常套手段です。

Submission #19606665 - AtCoder Beginner Contest 189

B

実数でやると誤差で死ぬので、適当にスケールを100倍して計算します。ところで、「アルコール度数」がなんであるかを知ってる前提の出題は未成年に厳しい気がします。普通に「B%のアルコールを含んでいます」でいいんじゃないかなぁ

Submission #19606634 - AtCoder Beginner Contest 189

C

何も思いつかなくてSparse Tableで殴った。最大長方形なんですね、確かに

qiita.com

Submission #19606614 - AtCoder Beginner Contest 189

D

全体の真偽値がFalseになる条件を考えます。後ろから見ていって、i 番目が"AND"だったとき、i より右側がFalseの時、i より左側はどうでもいい、ということを足していきます。面白かった

Submission #19610390 - AtCoder Beginner Contest 189

E

アフィン変換のようなことをやると確かにできるんですが、行列を頑張りたくなかったので、(x , y)がそれぞれの操作によってどこに移動するかを計算しました。具体的には(ax+b,cx+d)のような構造体を持って、スワップしたり、x -> 2p - xに変換するみたいなことをしています。

Submission #19623926 - AtCoder Beginner Contest 189

F

本番で解けませんでした。解説を読んで通しました。有向グラフでゴールに辿り着くまでの期待値ってゴール側から見ていって「 i 番目のマスにいる時あと何手でゴールできるか」を見ていくのが常套なんですね、それで「0番目のマスからあと何手?」を定数でおいて、一次方程式に落とす、というのが面白かった。

Submission #19654965 - AtCoder Beginner Contest 189

ABCは8割ぐらいの打率で2000prfが出るようになったのでなんとかABCでレートをあげていきたいです。

また頑張ります。