けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

2019-03-01から1ヶ月間の記事一覧

AtCoder ABC 121 D - XOR World (緑色, 400 点)

みんな早い...!!! 問題へのリンク 問題概要 2 つの整数 () が与えられる。 以上 以下のすべての整数の XOR 和を求めよ。 制約 「A 以上 B 以下」と、「XOR の引き算」とは まず「 以上 以下の値の総和を求めよ」という問題は、「 以下の値の総和を求めよ…

AtCoder ABC 088 D - Grid Repainting (緑色, 400 点)

グリッド上をスタートからゴールまで行く系の問題において、しばしばある 盤面に対し、何らかの形でコストを払ったりスコアを獲得したりしながら変更を加えられる という設定の問題。その設定が加わると難しい問題になることも多いが、この問題は比較的素直…

AOJ 3062 Product (RUPC 2019 day2-L)

本当に悔しい。BSGS に無限にこだわってしまった。なぜ方針転換を図れなかったのか。。。 そしてこの問題、本当に本当に整数論の魅力がたっぷり詰まった楽しい問題だった。作問してくれた会津大チームにすごく感謝!!!!!!!!!! 問題へのリンク 問題…

AOJ 3057 First Kiss (RUPC 2019 day2-G)

面白かった 問題へのリンク 問題概要 Nim の「石が 個しかとれないバージョン」を考える。 ただし勝敗の決まり方が、「先に石を取れなくなった方が負け」ではなく「先にいずれかの山の石の個数を 0 にした方が負け」である。 制約 考えたこと 一瞬逆形かと思…

AOJ 3054 Tunnel (RUPC 2019 day2-D)

離散量だなんて思わなかった。。。 問題へのリンク 問題概要 (略) 個の長方形からなるヒストグラム (x 座標が から の範囲に存在していて、それぞれの長方形の高さが ) が与えられて、それに合わせて折れ線を最適化する。 折れ線の始点は 正の整数 があって…

AOJ 3056 Equilateral Triangle (RUPC 2019 day2-F)

計算量的な詰めが甘かった。二分探索要らなかった。 問題へのリンク 問題概要 凸な 角形が与えられる。この 角形を完全に含むような正三角形の一辺の長さの最小値を求めよ。 制約 考えたこと 座標系として くらいの大きさまであるので、EPS は くらいがいい…

AOJ 3053 Phone Number (RUPC 2019 day2-C)

一瞬詰まった。とりあえず 9! できるなと思ったあと、長さ の文字列を処理するのはどうするんだろ...となっていた。前処理が本質な感じがする。 問題へのリンク 問題概要 "31415926535" のような 1 〜 9 からなる長さ の文字列 が与えられる。 今、 137 456 …

AOJ 3052 Milk (RUPC 2019 day2-B)

難しかった 問題へのリンク 問題概要 ちょうど 本の牛乳の空き瓶を持っていくと新たに 本の牛乳の入った瓶と交換できる。 最初に 本の牛乳の入った瓶を持っているとき、最大で何本分の牛乳を飲めるかを 1000000007 で割ったあまりを求めよ。 制約 < 考えたこ…

AtCoder World Tour Finals 2019 A - Magic (1000 点)

世界大会で注意力を問う罠枠だったのかな 問題へのリンク 問題概要 個の箱があってそのうちの一つに財宝が入っている。箱を 1 個 1 個開けて行くことで財宝を見つけたい。ただし、財宝が入っている箱を開けようとすると最大 回、財宝が他の箱に瞬間移動して…

AOJ 2903 Board (AUPC 2018 day1-H)

2 変数劣モジュラ関数の和を最小カットで表すという、とても面白い問題!!! 問題へのリンク 問題概要 × の二次元ボードが与えられる。以下のような "#" のところを最小個数の長方形で敷き詰めよ。例えば 4 10 ########## ....#..... ....#..... ..........…

AOJ 2939 オセロ (RUPC 2019 day1-C)

めちゃ面白い! 問題へのリンク 問題概要 オセロにおいて、黒石が 1 個だけない状態からスタートする。 ........ ........ ........ ...ox... ....o... ........ ........ ........ ここから通常のオセロルールでプレイする。今、 個のクエリが投げられ、各…

AOJ 2940 場所当てゲーム (RUPC 2019 day1-D)

発想はすごくシンプルで、実装頑張る 問題へのリンク 問題概要 整数 が与えられる。 ラウンドのインタラクティブゲームを行う。 まずあなたは 頂点の無向単純グラフを 1 つ作成して出力する。 相手はそのグラフを受け取り、各ラウンドのはじめに、いずれか 1…

AOJ 2943 イルミネーション (RUPC 2019 day1-G)

燃やす埋めるは今度こそちゃんとマスターする!!! 問題へのリンク 問題概要 × の各格子点に電球がある。 が偶数となるような について、 を頂点とする正方形の中心に装置があって、各装置を押すことで四隅の電球を点灯することができる。 ただし、装置を起…

AOJ 2941 LISum (RUPC 2019 day1-E)

最長増加部分列 (LIS) がセグ木上のインライン DP で求められることを思い出せば、それを少し頑張るとできる。 問題へのリンク 問題概要 長さ の数列 が与えられる。数列 の最長増加部分列 (狭義単調増加) のうち、その総和の最大値を求めよ。 制約 考えたこ…

AOJ 2942 Absum (RUPC 2019 day1-F)

難しくて、てんぷらたんが天才だった!!!!!!! とにかくすごかった!!!!! そしてすごく面白い問題だった!!!!! 問題へのリンク 問題概要 長さ の数列 が与えられる。数列の 2 要素を選んで swap する操作を高々 回まで行うことができる。 操作…

AtCoder AGC 006 D - Median Pyramid Hard (赤色, 1300 点)

一目見て、データ構造げーかな...と思ってしまった。そういう先入観を持つと危ない。実際は好みな考察で解ける問題だった。 問題へのリンク 問題概要 正の整数 と からなる順列が与えられる。いま、この順列を下図左のようにピラミッドの最底辺に書き込む。…

AtCoder ABC 120 D - Decayed Bridges (水色, 400 点)

とても教育的な問題ですね。 UnionFind 木の基本的な使い方 (連結成分のサイズ獲得含む) クエリを先読みしておいて逆順に処理 (多くのクエリ先読み問題ではもっと変な順番で処理したりする) 差分のみ更新する考え方 といったあたりを学ぶことができる。 問題…

AtCoder ABC 120 C - Unification (灰色, 300 点)

久しぶりのカッコ列の整合判定問題!!! カッコが binary になっただけ。ただし通常のカッコ列問題は )( みたいなやつはダメだけど、今回はこういうのも消せる (解法 1 へ)。 あるいは今回はカッコ列問題だと思わなくても、自然な考察で回答を導くこともで…

AtCoder AGC 008 B - Contiguous Repainting (青色, 400 点)

操作を逆順に見るとよいという、すごく良い例題!大好き!!! 問題へのリンク 問題概要 要素からなる数列 が与えられる。今、以下の操作を好きな回数だけ行う。 長さが の区間を選んで、区間全体を白く塗るか、黒く塗る 操作を行った後に黒く塗られたマスの…

AtCoder ABC 116 C - Grand Garden (茶色, 300 点)

整理するのがちょっと大変系。でもとても教育的だと思う! 問題へのリンク 問題概要 次元の整数ベクトル () が与えられる。これを以下のようなベクトルの和として表したい。 () のように「」が連続していてそれ以外は になっているベクトル 例えば、(1, 3, 3…