olpheの競プロ帖

競プロ問やアルゴリズム等の考察します

2017-05-01から1ヶ月間の記事一覧

IOI列車で行こう(13本選2)

N両の電車とM量の電車が与えられる。それぞれはI列車とO列車のみで構成される。 順にどちらかの先頭の車両を取っていき、IOIOIOIOIのようにIとOか交互に並び、且つIが端にあるように並べたとき、最長の長さを求める問題。 なお、電車はあまらせてもよいし、…

JOI国の買い物事情(11本選3)

N個の町、M本の道、K個のショッピングモールがある。 ショッピングモールは町の中にある。 町及び道の中で一番近いショッピングモールまでの距離が最大の値を求める問題。 まず、dijkstraで町までの距離を求め、各辺について辺上で一番遠い点を求める。 計算…

ペンキの色(08本選5)

H*Wの看板にN個のテープが貼ってある。色を塗らなければならないスペースが何個あるかを求める問題。 座標圧縮をして、queueで何個あるか探す。 計算量は(N^3)だが定数が小さい。 難易度は7程度に感じられた。 http://judge.u-aizu.ac.jp/onlinejudge/revie…

ぴょんぴょん川渡り(08本選4)

N行に石があり、それぞれの行にある石の数と、位置と滑りやすさが決まっている。 向こう岸まで跳んで行った時の最小の危険度を求める問題。 なお、一行飛びジャンプはM回までできる。 dp[i行目までで][j回までの一行飛びジャンプを使い][i行目のk個目の石]に…

最軽量のモビール(07本選5)

N個の棒があり、そのそれぞれにひもがつながっている。一番上の棒をつるしているひもを除いては、ひもの下には棒かおもりがある。 角棒について、自分をつるしているひもより左の長さ、右の長さ、左につるしている棒の番号、右につるしている棒の番号(おもり…

タクシー(14予選5)

N個の町、K本の道がある。各町にはタクシー会社が存在し、それぞれ決められた数までの道を移動できる。また、料金も決まっている。 1~Nに移動するために必要なコストの最小値を求める問題。 基本的にはdijkstraでよいが、各頂点を訪れるごとに移動できる場…

魚の生息範囲(13予選5)

N種類の魚がいて、それぞれの生息範囲が直方体で与えられる。 同時にK種類の魚が存在しうる領域の体積を求めよという問題。 まず、座標の範囲が0~1000000と非常に大きいにもかかわらず、魚の種類は最大でも50なので無駄っぽい。なのでそれぞれについてソート…

ビンゴ(09予選6)

N*Nのビンゴに1~Mまでの数字を入れる。和をSにしないといけないという条件の下で、何通りのカードが作れるかな?という問題。 dp[i個の数字で][jを作る]通り数のDPを組む。大きいものから見ることで1次減らせる。 計算量はO(NMS) 難易度は7程度に感じられた。…

最悪の記者(07本選4)

Nチームがリーグ戦を行った。M個の勝敗の情報が与えられたとき、順位表のうちの一つを出力せよ。という問題。 なお、引き分けの試合はなく、同順位のチームもなく、順位が上のチームが下のチームに負けなかったことが保証されている。 勝ったチームから負け…

夜店(12本選3)

N個の屋台をT時間の間に遊びたい。また、時刻Sの時に花火もみたい。 一つの屋台で遊ぶ時の楽しさと時間が与えられるので、楽しさを最大化しようという問題。なお、屋台は番号の若い順にしか回れず、一つの屋台では一度しか遊べない。 N個目までの屋台につい…

スタンプラリー2(16本選2)

N個の店があり、それぞれJかOかIが決まっている。3店を選んでJOIを作る。 なお、3店は番号の小さい順に選ぶ必要がある。 ここで、任意の場所に任意の文字の店を一つ追加して、JOIを作る通り数を最大化したいという問題。 まず、最初の段階でJOIの通り数を数…

オレンジの出荷(16本選1)

N個のオレンジがあり、それぞれ大きさが決まっている。一個の箱には最大でM個オレンジを詰められ、箱に詰める際のコストはK+num*(MAX-MIN)で求められる。 (numは箱に詰めたオレンジの数。MAX,MINは箱に詰めたオレンジの大きさの最大値、最小値) コストを最小…

ケーキの切り分け2(15本選2)

N個に切られたホールケーキがあり、それぞれの大きさが与えられる。 先攻はまず好きなピースを取り、それ以降後攻は空間が隣にあるケーキの内で大きいほうのケーキを、先攻はそのようなケーキの内好きなほうを取る。 先攻の大きさを最大化しようという問題。…

IOI饅頭(14本選2)

N個の饅頭があり、それぞれ価格が決まっている。 M個の箱があり、それぞれ何個饅頭を入れられるか、購入の際のコストが決まっている。 利益を最大化しようという問題。 まず、饅頭をi個売る時は、高いもの時からi個売るのがいいので、ソートして累積和を求め…

電飾(14本選1)

N個の電球が並んでいて、それらは点いているか消えている。 一回だけ、連続する電球の点灯状態を反転させて、交互に並べたい。 最大で何個できるかな?という問題。 まず、連続して同じ状態の電球が並んでいるところをリストアップしておき、それらの中で隣…

JOI紋章(13本選1)

H*Wの旗があって各マスにJかOかIの文字が書かれている。 2*2の欲しい文字の並びと、白い布(最大で最大で一度一つの文字を上書きできる)が与えられるので、最大何回理想の並びが登場するかな?という問題。 まず、最初の段階で何個理想の並びが存在するか調べ…