ARMERIA

Rubyと競技プログラミングの話 AtCoderやCodeforcesの問題解説記事が多め。

プログラミング

KEYENCE Programming Contest 2019 参加記録&解説

まあまあの速度で4完。Eは解きたかった… 本番後に通したEも含めて5問解説します。→Fも書き足しました。 A - Beginning 解法 ソートして 1479 になるかどうかチェックするのが一番楽です。 ACコード (Ruby)Submission #3998262 - KEYENCE Programming Conte…

AISing Programming Contest 2019 参加記録&解説

AISing Programming Contest 2019 / エイシング プログラミング コンテスト 2019 - AtCoder 全完! 2000未満ratedコンテストだったのでパフォーマンスは付かず、ちょっと残念。 A - Bulletin Board A - Bulletin Board 解法 縦の位置が 通り、横の位置が 通…

Hello 2019 (Codeforces) 参加記録&解説(A~D, F)

Dashboard - Hello 2019 - Codeforces 2019年最初のコンテストはABCDFの5完で111位!幸先いいですね。 A. Gennady and a Card Game Problem - A - Codeforces 問題概要 2文字の文字列でトランプのカードを表す。1文字目がランク、2文字目がスートに対応する…

AGC030 B - Tree Burning

B - Tree Burning 今回は私自身がAB2完で実質的にこの1問しか解説を書けないのと、この1問だけでかなり説明が長くなりそうなので、単独記事にします。 Twitter見ていると微妙に色々違う解法があるようで…?私が本番で考察した内容をベースに書きます。他の人…

Educational Codeforces Round 57 参加記録&解説(A~F)

猛プッシュ回。その真意はG問題にありましたが、私は解けませんでした… ※2019/01/16 E問題を追記。 A. Find Divisible Problem - A - Codeforces 問題概要 以下の問題 個に答えよ。 整数 が与えられる。 かつ かつ が の約数であるような整数 を1組求めよ。 …

Codeforces Round #529 参加記録&解説

Dashboard - Codeforces Round #529 (Div. 3) - Codeforces だいたい1時間で全完。平和なDiv3でした。 A. Repeating Cipher Problem - A - Codeforces 問題概要 ある文字列 に対して、各文字を「1文字目を1個、2文字目を2個…」と並べた文字列 が与えられる。…

Codeforces Round #528 参加記録&解説(A~D)

Dashboard - Codeforces Round #528 (Div. 1, based on Technocup 2019 Elimination Round 4) - Codeforces 配点の高いDを通し、なんとDiv1で81位!これはそうそう出るものじゃないですね。レートも爆上げ。 A~Dを振り返ります。Div2ではC~Fに対応します。…

CADDi 2018 参加記録&解説(C~E)

2問速解きでレート微増。悪くはないけど良くもない。 C - Product and GCD C - Product and GCD 解法 各素因数ごとに考えてみます。 ある素数 について、各 ごとに「 には素因数としていくつ が含まれているか?」を考えます。その個数の最小値を とすると、…

Codeforces Avito Cool Challenge 2018 参加記録&解説(A~E)

プレテスト5完だったのですが、Dがしょうもない実装ミスで落ちました… A~Eまで5問振り返ります。 A. Definite Game Problem - A - Codeforces 問題概要 正整数 の初期値 が与えられる。これに以下の操作を0回以上繰り返して、 をできるだけ小さな数にしたい…

AGC029 参加記録&解説(A~D)

AtCoder Grand Contest 029 - AtCoder 今回は4完!完答数で言うと自己ベストです。配点が低めでペナルティ込みの時間がかなり遅いので、パフォーマンスはそんなに高くないですが… A~Dを振り返ります。 A - Irreversible operation A - Irreversible operati…

ABC115 参加記録&解説

19分台全完で25位。20分切れたのは良いですね。 A - Christmas Eve Eve Eve A - Christmas Eve Eve Eve 解法 入力が4通りしかないので全部ifで分岐してもよいのですが、まず Christmas を出力して、 回だけ [半角スペース]Eve を出力するとスマートです。 AC…

01-BFSのちょっと丁寧な解説

先日Twitterで少し話題になったので書いてみます。データ構造とアルゴリズム Advent Calendar 2018 の8日目の記事でもあります。 「01-BFS」というものをちょっと丁寧に解説します。これは以下のような問題を解くことができるアルゴリズムです。 辺の長さが0…

Codeforces Round #525 参加記録&解説(A~E)

Dashboard - Codeforces Round #525 (Div. 2) - Codeforces 今回は3完…うーん。Div2でこれは良くないですね。 本番後にEまで通したので5問書いていきます。 A. Ehab and another construction problem Problem - A - Codeforces 問題概要 正整数 が与えられ…

解説記事のはなし

この記事は「Competitive Programming (1) Advent Calendar 2018」の5日目の記事です。 解説記事を書いています 私がコンテストの参加記録として記事を書き始めたのは今年の5月末くらいです。競技プログラミングを始めたのが4月頭なので、だいたい2ヶ月後で…

ABC114 参加記録&解説

CもDも手間取ってしまい54位… A - 753 A - 753 解法 ifや3項演算子などで場合分けしましょう。 ACコード (Ruby)Submission #3700911 - AtCoder Beginner Contest 114 (C++)Submission #3708253 - AtCoder Beginner Contest 114 B - 754 B - 754 解法 の…

HACK TO THE FUTURE 2019 本選オープン 参加記録

HACK TO THE FUTURE 2019 本選オープン - AtCoder オープンコンテスト3位! 解説というほどのものは書けないので、「こんな感じのことをしました」というのをつらつら書いていく感じになります。 最初に考えたこと 中盤まではスキルに投資することが重要だが…

Rubyで競プロするときのTips

ある程度知見が溜まってきたのでまとめていきます。 各オンラインジャッジのRuby環境 2018年12月くらいの情報です。 サイト バージョン AtCoder 2.3.3 Codeforces 2.0.0 yukicoder 2.5.3 AOJ 2.4.0 この記事は基本的にAtCoderの2.3系を対象に書いていきます…

Codeforces Round #522 C. Vasya and Maximum Matching

Problem - C - Codeforces 考察が重かったけど、面白い問題。 問題概要 頂点の木が与えられる。この木の辺それぞれについて辺を取り除くかどうかを考えると、その場合の数は全部で 通りある。そのうち「辺を取り除いた後のグラフにおいて、最大マッチングが…

CODE FESTIVAL 2018 Final (Parallel) 参加記録&解説(A~F)

オープンコンテスト8位でした。 A~Fについて書きます。この記事を書いている時点で解説が公開されていないため、Twitterなどで見た他の参加者さんの解法を大いに参考にしながら書いています。 A - 2540 A - 2540 解法 長さが と の2本の辺で、ちょうど1つの…

Educational Codeforces Round 54 参加記録&解説(A~F)

Dashboard - Educational Codeforces Round 54 (Rated for Div. 2) - Codeforces 今回はなんと17位!…なんですが、本番中のD問題のジャッジに致命的なミスがあって正常なコンテストではなかったため、素直に喜べない感じです… 6問振り返ります。 A. Minimizi…

ABC113 参加記録&解説

AtCoder Beginner Contest 113 - AtCoder 22分台全完で21位でした。 A - Discount Fare A - Discount Fare 解法 を計算して出力すればよいです。 ACコード (Ruby)Submission #3531033 - AtCoder Beginner Contest 113 B - Palace B - Palace 解法 個の地点…

Educational Codeforces Round 53 参加記録&解説(A~D)

Dashboard - Educational Codeforces Round 53 (Rated for Div. 2) - Codeforces 4完で256位。キリ番です(?) Div2オンリーならもっと上を目指したいところ… A. Diverse Substring Problem - A - Codeforces 問題概要 長さ の英小文字列 が与えられる。 の…

ARC091 F - Strange Nim

F - Strange Nim 面白い問題だったので記録。公式解説とはちょっと違う解法。 考察・解法 実験と観察 山同士は相互に干渉しないので、それぞれの山のGrundy数を求めることが目的になる。 注目している1つの山について、残っている石の数を 、その山が持つパ…

九州大学プログラミングコンテスト2018 参加記録&解説(A~F)

九州大学プログラミングコンテスト2018 - AtCoder 6完で31位でした。正答数は良い感じですが、色々バグらせました… A - QUPC A - QUPC 解法 を計算すればよいです。 ACコード Submission #3436129 - 九州大学プログラミングコンテスト2018 B - Tapu & Tapi …

Educational Codeforces Round 52 G. Fibonacci Suffix

Problem - G - Codeforces 面白い問題を自力で通せたので記録。 問題概要 文字列の列 を、漸化式 "0" "1" で定義する。この は文字列の結合を示す。 整数 が与えられる。 の接尾辞を辞書順に並べた時、 番目に該当する文字列の先頭 文字を求めよ。(ただし、…

Codeforces Round #516 参加記録&解説(A~C)

Dashboard - Codeforces Round #516 (Div. 1, by Moscow Team Olympiad) - Codeforces 結果は3完!とはいえ、3完速解き勢が多くてレート上昇はそこそこ。Div1は修羅の世界。 A~Cを振り返ります。Div2だとC~Eに相当します。 A. Oh Those Palindromes Proble…

CODE FESTIVAL 2018 qual B 参加記録&解説(A~D)

CODE FESTIVAL 2018 qual B - AtCoder 前のこどふぉに出ていたので5分遅刻で参加。結果は108位でした… A~Dを振り返ります。今回は公式解説がかなり丁寧なので、それを少し補足するような感じで短めに書きます。 A - Probability of Participation A - Proba…

AGC028 参加記録&解説(A~C)

AtCoder Grand Contest 028 - AtCoder 今回も前回と同じく、速解き1完でレート微減。うーん… しっかり復習しましょう。A~Cを振り返ります。 A - Two Abbreviations A - Two Abbreviations 解法 ※以降の説明では、文字列のインデックスを0始まりで記載します…

Codeforces Round #515 参加記録&解説(A~E)

Dashboard - Codeforces Round #515 (Div. 3) - Codeforces 結果は5完で、Virtualの参加者を除くと121位。悪くはないですが、上を目指すなら全完したいところですね… 5問振り返ります。 A. Vova and Train Problem - A - Codeforces 問題概要 以下の問題 個…

Educational Codeforces Round 52 参加記録&解説(A~F)

Dashboard - Educational Codeforces Round 52 (Rated for Div. 2) - Codeforces 結果は4完で194位。DがHackで落ちました… A~Fの6問を振り返ります。 A. Vasya and Chocolate Problem - A - Codeforces 問題概要 以下の問題 個に答えよ。 所持金 ルーブルで…