ARC

AtCoder Regular Contest 044 B : 最短路問題

arc044.contest.atcoder.jp 解法 まず、深さについて分けて考えると、 前段(個数n)と次段(個数m)の組み合わせの数について考える問題になる。前段は、完全グラフのように辺を取りうる。 その辺の中で自由に選んでいいので、となる。次段には、前段から辺…

AtCoder Regular Contest 044 A : 素数判定

arc044.contest.atcoder.jp 解法 言われた通りにやるだけ。なのに他の人の解答を見なければACできなかった。 最悪。Submission #958472 - AtCoder Regular Contest 044 | AtCoder2が素数じゃない扱いされるSubmission #958485 - AtCoder Regular Contest 044…

AtCoder Regular Contest 046 B : 石取り大作戦

arc046.contest.atcoder.jp 解法とその道のり どこかで見たことある問題だぞ・・・。arukuka.hatenablog.comでもそのときとは違って、変なルールがないし、 とる数がそれぞれ違うこともあり、 その数なんと10^9せっかく分けられているので、分けて考える。 A…

AtCoder Regular Contest 046 A : ゾロ目数

arc046.contest.atcoder.jp 解法 9ずつのループになっているので、 9で割った数(桁数) 9で割った余り(index) を用いると楽になる。1-indexed と 0-indexed の変換に注意して提出。Submission #958384 - AtCoder Regular Contest 046 | AtCoder

AtCoder Regular Contest 048 B : AtCoderでじゃんけんを

arc048.contest.atcoder.jp 解法 ある意味、やるだけという問題。リストにレーティング、手をつっこむ。 同じレーティングの勝ち負けは、そのリストから サイズを取ってくるとして、時間がかかりそうなのは、 自分より低いレーティングの人の数 自分より高い…

AtCoder Regular Contest 048 A : 階段の下

arc048.contest.atcoder.jp 解法 引き算。a 0のケースは-1する。Submission #953048 - AtCoder Regular Contest 048 | AtCoder

AtCoder Regular Contest 049 B : 高橋ノルム君

arc049.contest.atcoder.jp 当初の方針 全然分からない・・・。 解法を見て 今さっき二分探索したのに、 なんで二分探索が思いつかないんだ・・・。Submission #951841 - AtCoder Regular Contest 049 | AtCoderはークソ

AtCoder Regular Contest 049 A : "強調"

arc049.contest.atcoder.jp 解法 for文で回して、iがABCDに一致したら ダブルクォーテーションを出力。 最後にダブルクォーテーションが来るケースに注意。Submission #951686 - AtCoder Regular Contest 049 | AtCoder

AtCoder Regular Contest 050 B : 花束

arc050.contest.atcoder.jp 当初の方針 分からない・・・。貪欲? → 違う諦め 解法を見て 頭いいなあ・・・。 俺はいつになったら頭よくなるんだ・・・。提出 → WA Submission #951662 - AtCoder Regular Contest 050 | AtCoder死。r - mid か b - midが負に…

AtCoder Regular Contest 050 A : 大文字と小文字

arc050.contest.atcoder.jp 解法 'A'との差分を取ってもいいが、 String にtoLowerCase関数があるので、 それを利用する。Submission #951641 - AtCoder Regular Contest 050 | AtCoder

AtCoder Regular Contest 051 B : 互除法

arc051.contest.atcoder.jp 当初の方針 ええ・・・分からない・・・。aをでかい数で固定してあげたら、 bを見るだけでいいのでは?Submission #951511 - AtCoder Regular Contest 051 | AtCoder→ K=30ぐらいまでが限界無理です。 解法を見て フィボナッチ数…

AtCoder Regular Contest 051 A : 塗り絵

arc051.contest.atcoder.jp 解法 円が長方形に内包されているかどうかは、 上下左右の点について、内包されているか チェックすればいい。長方形が円に内包されているかどうかは、 角の4点が円に内包されているか チェックすればいい。Submission #951238 - …

AtCoder Regular Contest 052 B : 円錐

arc052.contest.atcoder.jp 解法 典型的なRMQ問題(足すやつもMinimumっていうんでしょうか・・・)円錐を高さ1ごとにぶつ切りした体積を配列に持たせて、 それをSegmentTreeに入れてあげて更新作業をすれば、 あとはクエリーに答えていくだけ。計算量も事前…

AtCoder Regular Contest 052 A : 何期生?

arc052.contest.atcoder.jp 解法 数字の部分を取り出してくればよさそうなので、 JavaのStream機能を利用して解く。 String ans = sc.next().chars(). filter(a -> '0' <= a && a <= '9'). mapToObj(a -> Integer.toString(a - '0')). reduce("", String::co…

AtCoder Regular Contest 053 B : 回文分割

arc053.contest.atcoder.jp 解法 回文になるには、 偶数個のみで構成される文 偶数個と、1つの1文字で構成される文 であることが分かる。なので、まず文字ごとの出現回数をカウントし、 奇数を1と残った偶数に分解してあげる。 すると、1の個数と偶数の合計…

AtCoder Regular Contest 053 A : ドミノ色塗り

arc053.contest.atcoder.jp 解法 それぞれで、長さ-1コ分が連なっており、 重複はない。タテ:w * (h-1) [コ] ヨコ:h * (w-1) [コ]この2つを足せばいい。A: ドミノ色塗り - AtCoder Regular Contest 053 | AtCoder

AtCoder Regular Contest 054 B : ムーアの法則

arc054.contest.atcoder.jp 解法までの道のり 二分探索? → 普通に違う → やざてんさんより二分探索で解けるとご指摘いただきました! ページ下部で補足します。 3 が入力されるケースで、1e-9刻みでやってみると、下に凸な関数であることが分かる 最急降下…

AtCoder Regular Contest 054 A : 動く歩道

arc054.contest.atcoder.jp 解法 時計回りのときの距離は、c := (D - S + L) % L反時計回りのときの距離は、cc := (L - D + S + L) % Lで、それぞれX + Y[1/s]、Y - X[1/s]の速度で移動するので、 割って上げて、小さいほうを出力すればいい。X >= Y の場合…

AtCoder Regular Contest 055 B : せんべい

arc055.contest.atcoder.jp 当初の方針 ちょっと前に友達と一緒に学校で解いていた思い出が蘇る。そのときはさっぱりで、解説放送を見てもさっぱり。今もさっぱり。 解説を読んで ??????コードが書けるようになるまで丸一日費やした。他のブログでは独…

AtCoder Regular Contest 057 B : 高橋君ゲーム

arc057.contest.atcoder.jp 当初の方針 DP? →考えたDP:dp[N][K] Kが10^9ほどあるので無理 先頭から最小の勝利数で勝率が上がるような貪欲? 実装中に全部使い切らないと行けないケース ()でうまくいかない。 諦め 解法を読んで のケースは特殊化して省く…

AtCoder Regular Contest 057 A : 2兆円

arc057.contest.atcoder.jp 解法 K = 1のときは、n回試行するとになるので、 K >= 1のときは、シミュレーションしても間に合う(O(log 2兆)=12log 20)。K = 0のときは、n回試行すると、A + nになるので、 2兆円にするためには、2兆-A回試行する必要がある(O…