ブログ名

競技プログラミングやお歌のお話をする高菜です。

ARC 070 E - NarrowRectangles 解説

問題 atcoder.jp 解説 行きと帰り(復元)があります。 行き まずは、コストが最小となるような、最後においたブロックの左端の X 座標の範囲を DP です。これはダブルヒープでシュミレーションができます。(※ この解説はダブルヒープで凸折れ線を扱うテク…

AGC 044 C - Strange Dance の解説

問題 atcoder.jp 解説 に対し、 は、 で割って 余るような数の、3 進数表示の下から 桁目(0 - based index です。)を 増加させる写像だとします。 すると、 は位数 3 です。 が同じもの同士は可換です。 if です。 ルンバは と書けます。 サルサ による共…

AtCoder Beginner Contest 167 解法

結果 お客様の中に、D に嵌ってしまった黄色コーダーさんはいらっしゃいますか? 解法 A: 先頭の len(s) 文字を比較です。 B: min(a, k) - max(k-a-b, 0) です。 C: ビット全探索です。C に全探索を置くの、強い主張を感じざるをえません。 D: シュミレーシ…

AtCoder Beginner Contest 165

結果 01:09:34(1) 全完です。 A - We Love Golf (00:01:12) 切り上げと切り下げで比較です。 B - 1% (00:03:00) 101 を掛けるとオーバーフローしますから、利息分を計算してたし算です。 C - Many Requirements (00:18:21) 激ムズです。やり方を間違えている…

AtCoder Beginner Contest 163 解法

結果 91:47 全完です。 今回はかなり安定を取った上に、比較的難し目な回でしたから、全完できれば良しとしましょうか。 解法 A - Circle Pond (00:03:43) サンプルの 6.28318530717958623200 をコピーして掛け算がよいです。 ld x;std::cin>>x; std::cout<

AtCoder Beginner Contest 162 解法

結果 47:42(4) です。 E, F がかなり簡単なセットでしたから、これは痛いです。 F で軽々しくたくさん提出をしてしまったのが良くなかったでしょうか。 A - Lucky 7 (00:01:07) string で受け取って、std::find などのシーケンシャルです。 std::string s;st…

AtCoder Beginner Contest 160 解法

結果 64:08 5 完 1255 位 です。(はい!?!?) まさか ABC で冷えるとは思っていませんでした。 F の全方位で詰まったのは、(突然書き方を変えたのもありますが)実力相応で、戦犯は D の制約読み落としです。 ✔A - Coffee (00:02:32) string で受け取っ…

AtCoder Beginner Contest 159 解法

結果 56 分 + 1 ペナ全完、159 位です。一目瞭然なのですが、犯人はアナタ( E 問題)です! ただこればかりは、そもそもかなり難し目に感じてしまいましたから、立ち回りの問題でもなさそうです。順位表を覗くとキレイな傾斜のようですから、苦手分野でしょ…

†注意力†コンテスト Rebirth

コンテストページです → https://codeforces.com/gym/272327 結果 ノーペナ全完 1 位です。 これは 「† 注意力 † コンテスト」である旨を事前に伺っていましたから、正確さに全振りをしました。 もちろん 5 問とも瞬殺レベルの難易度なのですが、速さ度外視…

パナソニックプログラミングコンテスト2020 解法

結果 非常に難しかったとはいえ、明らかに得意セットです。これはせめて全完は間に合わせる必要がありました。悔しいです。 ✔A - Kth Term コピペをして vector a = { ... } です。 普段とは雰囲気が違います。 振り返れば、このあたりで、鐘鳴りぬべし(た…

黄色コーダーになるために必要だったことを、† 本物の黄色コーダー † になれた今、再び振り返るをします。

問題 黄コーダーになるために必要だったものな〜んだ? 奇行だー(いいえ) 発端 Peing というサービスがあります。 そこでご質問をいただきました。 キリ番おめでとうございます! せっかくのキリ番ですから、ブログでお答えをしたいと思います。もし億劫で…

AtCoder Beginner Contest 158 解法

コンテストページ:https://atcoder.jp/contests/abc158 結果 51:47 全完、21 位(最高順位更新)です! ひどいことをする方がいるものです。 https://t.co/jXDLI12nKN— ながたかな (@ngtkana) March 7, 2020 keymoon さんを順位表の 1 ページ目から追い出せ…

Codeforces Round #626 (Div. 1, based on Moscow Open Olympiad in Informatics) 解法

コンテストページ:https://codeforces.com/contest/1322 結果 A, B, C の 3 完です。 いえ、Cしれません がシステスに落ちてしまったようです。 反省 暗算の間違いや、標準入力の高速化わすれなど、かなりしょうもないミスが多かったです。 Vim 環境に移行…

Ozon Tech Challenge 2020 (Div.1 + Div.2, Rated, T-shirts + prizes!) 解法

コンテストページ:https://codeforces.com/contest/1305 ✔A - Kuroni and the Gifts (00:11:02) 参加登録を忘れて 10 分間提出ができませんでした。おそらく 5 分程度でした。 配列 a, b をそれぞれソートすると良いです。 ✔B - Kuroni and Simple Strings …

yukicoder contest 239 解法

コンテストページ:https://yukicoder.me/contests/253 成績 75 位です。あの!? 感想 かなり冷えてしまいました。 D を長時間考えた上でわからなくてとばして E に行ったのですが、これはそこまで悪かったとは思っていません。 たしかに済んでみると、実は…

Codeforces Round #570 (Div. 3) (virtual) 解法

コンテストページ: https://codeforces.com/contest/1183 A - Nearest Interesting Number(00:01:59) N, N+1,... というふうに、順番にためしていけばよいです。 B - Equalize Prices(00:05:21) B としてありえる範囲を保持しておきます。入力 x を見たら、…

Educational Codeforces Round 68 (Rated for Div. 2) (virtual) 解法

コンテストページ:https://codeforces.com/contest/1194 A - Remove a Progression(00:05) 飛ばされるのは奇数ですから、答えは 2x です。 B - Yet Another Crosses Problem(00:11) 交差点を全探索です。 予め各列と各行の白マスの数を数えておきましょう。…

Kyoto University Programming Contest 2019 (virtual) 解法

コンテストページ:https://atcoder.jp/contests/kupc2019/tasks 解法と反省 A - November Festival(3:29) まずは重複度のリストをつくります。 その上を、現在の最大とその添字を保持しながら、左から順に走査していくと良いです。 B - ナップサック問題(17…

Kyoto University Programming Contest 2019 (virtual) 解法

コンテストページ:https://atcoder.jp/contests/kupc2019/tasks 解法と反省 A - November Festival(3:29) まずは重複度のリストをつくります。 その上を、現在の最大とその添字を保持しながら、左から順に走査していくと良いです。 B - ナップサック問題(17…

AtCoder Beginner Contest 156 解法

コンテストページ https://atcoder.jp/contests/abc156/ 解法 ✔A - Beginner 引き算の反対をご存知でしょうか。たし算といいます。たし算をしましょう! ✔B - Digits n が 0 になるまで k で割っていきましょう。回数をカウントです。 ✔C - Rally 開催場所を…

Educational Codeforces Round 69 (virual) 解法 

Educational Codeforces Round 69 (Rated for Div. 2) コンテストページ https://codeforces.com/contest/1197 ✔A - DIY Wooden Ladder 2 番めに大きいものと、個数だけを見ればよいです。 ✔ B - Pillars 大きい順に見て、ずっと連結ならよいです。 チェック…

Educational Codeforces Round 70 (virtual) 解法

コンテストページ https://codeforces.com/contest/1202/ ✔A - You Are Given Two Binary Strings... なるべく小さい位置の 1 同士を打ち消したいですから、尺取り法の要領でそれを探します。 ✔B - You Are Given a Decimal String... 各 i, j に対して、差 …

Codeforces Round #619 (Div. 2) 解法

コンテストページ https://codeforces.com/contest/130 ✔A - Three Strings a[i]==c[i] or b[i]==c[i] がすべての場所で成り立っているかどうかを確かめればよいです。 ✔B - Motarack's Birthday -1 と隣接しているものを列挙して、それの最大と最小の平均に…

Educational Codeforces Round 82 (Rated for Div. 2) 解法

コンテストページ https://codeforces.com/contest/1303 ✔A - Erasing Zeroes 最も左と最も右の '1' を探してその間を埋めます。全部 '0' のときだけが例外です。 ✔B - National Project お天気の日の数の条件と合計の日数の条件のうち厳しい方です。 合計の…

yukicoder contest 236 解法

コンテストページ yukicoder contest 236 ✔A - Add AB 以下のチェックリストを作って、x ≦ B, y ≦ A を全探索です。 ✔B - Convolution GCD は ( a, b ) -> ( a, a+b ) で不変ですから、この性質をふんだんに使いましょう。 まず、i & j=k とありますが、これ…

Codeforces Round #618 (Div. 1) 解法

コンテストページ https://codeforces.com/contest/1299 解法 ✔A - Anu Has a Function これは差集合演算ですから、先頭をどれにするかだけです。 先頭を全探索です。それ以外のものすべての or を取って f をしましょう。 ✔B - Aerodynamic n が偶数で、「…

Educational Codeforces Round 72 (Rated for Div. 2) 解法

コンテストページ 解法 ✔A - Creating a Character 強さの方に振る分を x とすると、0 <= x <= exp です。 さらに賢さよりも強さの方が上という条件から x に下限条件が付きます。 ✔B - Zmei Gorynich 最後は最も強い攻撃で倒しますから、まずはそれを計算で…

Hello, World のできない純粋培養 C++ 競技プログラマが、関数型言語 F# で AtCoder Beginner Contest を解いてみたお話

概要 keymoon さんと F# 縛りで ABC 112 速解きバトルをしました。 コンテストの様子 A - Programming Education (lap time: 6:11) 問題概要 N = 1 ならば Hello, World を、N = 2 ならば A + B の結果を計算しましょう。 解法 天才なのでひらめきました。こ…

Codeforces Round #616 (Div. 1) 解法

コンテストページ https://codeforces.com/contest/1290 解法 ✔A - Mind Control 最終形が分かると、その両端の大きい方を取ればよいです。 何人にどちらを説得するかを決めると、最低限左右がどれだけなくなるのかがわかりますから、 そこから更に説得でき…

Educational Codeforces Round 74 (virtual) 解法

コンテストページ https://codeforces.com/contest/1238 解法 ✔A - Prime Subtraction 差が 1 のときだけ NO です。 ✔B - Kill `Em All A を降順に並べて同じものも消します。 直接攻撃をするのは、大きいものから順で良いですから、攻撃する人数を全探索で…