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

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

ICPC国内予選

AOJ 1163 カードゲーム (ICPC 国内予選 2009 E) (400 点)

典型的な二部マッチングの問題です。 問題へのリンク 問題概要 枚の赤いカードと、 枚の青いカードとの間でマッチングを作っていきます。 各カードには整数値が書かれていて、最大公約数が 1 より大きいカード同士をペアにすることができます。 最大マッチン…

AOJ 1610 竹の花 (ICPC 国内予選 2016 C) (250 点)

面白い。けど問題文長い...。問題概要を短くまとめてみた。 問題へのリンク 問題概要 正の整数 が与えられる。 あなたは、 以上の整数を 個用意する ( とする)。この 個の整数のスコアを、以下の条件を満たす最小の整数 として定める。 は のいずれでも割り…

AOJ 1618 池のある庭園 (ICPC 国内予選 2017 C) (150 点)

この手の、単純だけど for 文ネストがエグい全探索、案外 AtCoder で見ないかもしれない 問題へのリンク 問題概要 の二次元グリッドが与えられる。各グリッドには 0 以上 9 以下の整数値が書かれている。 グリッド上で、以下の条件を満たす長方形領域を考え…

AOJ 1147 ICPC 得点集計ソフトウェア (ICPC 国内予選 2007 A) (100 点)

平均求めるだけ 問題へのリンク 問題概要 個の 0 以上の整数 が与えられる。これらの値のうち、最大値と最小値を除去する (複数あるときはそのうちの 1 つ)。 残った 個の値の平均値 (小数点以下切り捨て) を求めよ。 制約 データセット数 考えたこと ででき…

AOJ 1611 ダルマ落とし (ICPC 国内予選 2016 D) (400 点)

このブログの「区間 DP」タグを充実させたい。この問題は本当に典型的な区間 DP なのでちょうどいい!!! 問題へのリンク 問題概要 長さ の整数数列 が与えられる。これらに対して以下の操作を好きな順序で好きな回数だけ行う。 値の差が 1 以下であるよう…

AOJ 1132 Circle and Points (ICPC 国内予選 2004 D) (450 点)

最小包含円と似て異なる問題。 問題へのリンク 問題概要 二次元平面上に 個の点がある。 半径 1 の円を上手に配置したときに、その中に含めることにできる点の個数の最大値を求めよ。 制約 考えたこと 「 点のうち 2 点を通る半径 1 の円」に探索候補を絞っ…

AOJ 1131 Unit Fraction Partition (ICPC 国内予選 2004 C)

有理数ライブラリ整備とか大げさなことせずに全探索頑張るのが本筋であろうが、ここでは有理数ライブラリの足し算の verify としてやってみた。 問題へのリンク 問題概要 有理数 p/q を n 個以下の 1/r な形の有理数の和として 分母 r の積が a 以下となるよ…

AOJ 1157 大玉転がし (ICPC 国内予選 2008 E) (450 点)

ごろごろごろごろ 問題へのリンク 問題概要 球を、地面を点 から点 へと直線的に移動する。 直線の周りには直方体が配置されていて、その直方体と球が物理的に干渉しないようにしたい。 極端な話、球の半径が ならば干渉することはない。球の半径をどこまで…

AOJ 1183 鎖中経路 (ICPC 国内予選 2012 E) (550 点)

あまり良くない方針でゴリ押してしまった。でもゴリ押しで通せることの証左になるかと思って記録してみることに 問題へのリンク 問題概要 下図のような「円の列」の内部だけを通る折れ線 (最初の円の中心と、最後の円の中心とを結ぶ) の長さの最小値を求めよ…

AOJ 1602 ICPC 計算機 (ICPC 国内予選 2015 C) (250 点)

こういうのをサッと書けるようになりたいね 問題へのリンク 問題概要 ((6 + 2) + 1) + (7 * 6) + 3 のような計算式が以下のような入力フォーマットで与えられる。これを構文解析して計算結果を出力せよ。 演算子は「+」「*」のみ 数値は 1 桁のみ 10 + .+ ..…

AOJ 1167 ポロック予想 (ICPC 国内予選 2010 C) (250 点)

いわゆる、重複ありのナップサック問題 問題へのリンク 問題概要 整数 を最小個数の四面体数 (重複あり) の和として表せ。 解法 四面体数は、mC3 の形で表される。 重複ありのナップサックも、うまくやれば、種類数の線形オーダーで効率的に解けることの練習…

AOJ 1601 短句 (ICPC 国内予選 2015 B) (150 点)

なにこの 575 検出器!!!解法自体は Greedy にやるだけ 問題へのリンク 問題概要 57577 を検出せよ。 複数あるときは一番先頭を検出せよ。 do the best and enjoy today at acm icpc の場合は先頭から dothe bestand enjoy todayat acmicpc で 57577 なの…

AOJ 1149 ケーキカット (ICPC 国内予選 2007 C) (300 点)

AOJ-ICPC 300 点。 問題へのリンク 問題概要 (略) ケーキをカットして行ってできるピースの面積をそれぞれ答えよ 考えたこと ケーキの中がどう分割されているかは一切関係ないので、毎回バラバラなピースがあってそこから 1 個選んで分割してそれを最後尾に…

AOJ 1188 階層民主主義 (ICPC 国内予選 2013 C) (350 点)

超苦手系だと思いながら恐る恐る実装したら、ノーデバッグでサンプル全部通った上に、そのまま提出したら AC もらえて超ビックリした!!! パースして木構造作って木 DP 的なことをするのが主流かもだけど、なんかもっとアドホックにできた。 問題へのリン…

AOJ 1150 崖登り (ICPC 国内予選 2007 D) (400 点)

難しくはないけど、実装が少し辛い。 問題へのリンク 問題概要 (略) 基本的にはグリッド上を移動していく最短路問題だけど、色々制約が付随している 考えたこと 一目見て Dijkstra 法が使えるとわかるけど、面倒... ポイントになりそうなのは、「左足」を動…