電波ビーチ

☆(ゝω・)v

競プロ

「レッドコーダーが教える、競プロ・AtCoder上達のガイドライン」中級編の100問を解く vol2 No.18~No.33

E869120さんの超絶まとめQiitaが話題になっていました。 qiita.com 全三部作で、初級編は茶色、中級編は水色、上級編は黄色になるためのアルゴリズムやデータ構造のリンク、勉強法などがまとめられています。このうち中級編には「分野別 初中級者が解くべき…

「レッドコーダーが教える、競プロ・AtCoder上達のガイドライン」中級編の100問を解く vol1 ~No.17

E869120さんの超絶まとめQiitaが話題になっていました。 qiita.com 全三部作で、初級編は茶色、中級編は水色、上級編は黄色になるためのアルゴリズムやデータ構造のリンク、勉強法などがまとめられています。このうち中級編には「分野別 初中級者が解くべき…

ABC132に参加した(WIP Dまで)

残り30分で4完までいったところで酒を飲んだよね。 A - Fifty-Fifty 4文字からなる文字列が2種類の文字それぞれ2文字ずつから成るかどうか判定させられる。 無限に実装のバージョンがあるので好きなやつを使う(解説になってない)。 s = sorted(input()) if …

ジェネレータで再帰的に組み合わせを返す

たとえば0 1からなるビット列の配列がほしいみたいなとき。組み合わせが少なければ愚直にやってもいいが、多いとき、ビット演算でやると文字列の扱いになって変換処理が時間的にボトルネックになり、リストで管理するとメモリ的にボトルネックになる。 ジェ…

ABC 030を解いた

ウデマエがクソなので日々の鍛錬として。 A 勝率計算 試合数と勝利数が2チーム分与えられるからそれぞれの勝率を比較しその結果によって出力を分岐する。勝率は当然勝利数 / 試合数で求まるのでそのまま計算する。intではなくfloatとして数値計算する。 a, b…

重みつきUnion-Find木を解説

これを解こうとしてできなかったのでまとめた。 judge.u-aizu.ac.jp 重み付きUnion-Find 英語名はよくわかんなくてweighted union-find とか weighted union heuristic、weighted disjoint set dataみたいに言われてるっぽい。Union-Find木に「あるノードか…

【AOJ】Rubyで2次元配列を連番で初期化 && Rubyでpythonのisdigitっぽいやつ

AOJ ITP1_6_B タイトルのやつでおいしい書き方ができずに少しハマった。 2次元配列を連番で初期化 map内での宣言で要素を初期化できる。範囲オブジェクトをto_aで配列にしてぶちこんだ。 cards = Array.new(4).map { Array.new((1..13).to_a) } => [[1, 2, …

Atcoder Beginner SelectionをGoで解いた

qiita.com これですね。Qiitaのほうでは各言語で解いてみた記事がどんどん上がっています(さすがにもう勢いは終息した) 当然Goで解いた記事なんてとっくの昔に出ているのでn番煎じなんですがたまにはコードかかんと、ということで。n番煎じなのでとくにこ…

GoでCompetitive Programming用途のUtilityみたいなやつ

とりあえず空白区切りでの入力と一行をスライスとして得るのとそのうちでmin/maxをとるやつ。 どんどん更新してるので履歴はgistからどうぞ メソッドチェーン的なのができないのはGenericsが無いかららしいんですが、pythonやC#のLINQにお世話になってきてい…

AtCoder / ABC077 / C: Snuke Festival

C - Snuke Festival なお、コンテストに参加したもののCで詰んでしまいました。。 問題概要 N個の正の整数からなるA, B, Cの3つの配列が与えられる。それぞれの任意の要素をa, b, cとしたときa

競プロ的なのするときの環境ってみんなどうやってんだろ

自分はVSCでやっている。pythonだと コンソールからリダイレクトで読み込ませる。テストケースは別タブで開いておいて書き換えたりする。いちいちファイルを作るのがめんどくさいので自動化したいんだけどVSCでの自動化がわからん。不便。 C#でもやっていた…