はまやんはまやんはまやん

hamayanhamayan's blog

2017-01-01から1年間の記事一覧

New Year and Rainbow Roads [Good Bye 2017 F]

http://codeforces.com/contest/908/problem/F数直線上にN点ある。 i番目の点はP[i]にあり、色はC[i]である。 色は赤R,青B,緑Gの3種類でP[i]は単調増加する。 この頂点内で辺をはり、赤の頂点のみを消したグラフ、青の頂点のみを消したグラフ、のどちらも全…

New Year and Arbitrary Arrangement [Good Bye 2017 D]

http://codeforces.com/contest/908/problem/D以下の操作を行う。 最初は文字列"" 確率PA/(PA+PB)で末尾に'a'を追加 確率PB/(PA+PB)で末尾に'b'を追加 文字列の部分列(連続でなくて良い)にabがK個以上含まれれば操作を終える こうして作られる全てのありう…

New Year and Curling [Good Bye 2017 C]

http://codeforces.com/contest/908/problem/C半径Rの円がN個ある。 i番目の円は(X[i], INF)から落として、y軸の負の方向へ動かしていく。 他の円にぶつかったら(接するのも含む)そこで止める。 1番目の円から順番に落としていく時に、各円のy座標はどうな…

New Year and Buggy Bot [Good Bye 2017 B]

http://codeforces.com/contest/908/problem/B縦H(=N),横W(=M)の盤面がある。 "."が空白, "#"が壁,"S"がスタート,"E"がゴールである。 次に命令列Sが与えられ、命令は0123のいずれかである。 ここで命令0123に上下左右を割り当てて、命令列の通り動かした時…

New Year and Counting Cards [Good Bye 2017 A]

http://codeforces.com/contest/908/problem/A(問題の言い換えが本質なのだが、あまりに冗長なので) 文字列が与えられるので、母音(aiueo)と奇数(13579)の文字数を答えよ。

Inversion Counting [Educational Codeforces Round 35 D]

http://codeforces.com/contest/911/problem/DN要素の順列Aがある。 これについてQ個のクエリを処理する。 「範囲[L,R]を反転させて、転倒数の偶奇を答えよ」

Three Garlands [Educational Codeforces Round 35 C]

http://codeforces.com/contest/911/problem/C3つの電灯がある。 電灯は時間x, x+k, x+2k, x+3k, ... で点灯する。 3つの電灯のkの値だけ分かっている。 各電灯のxの値を適切に決めることで全ての時間で最低1つは点灯している状態に出来るか判定せよ。

Nearest Minimums [Educational Codeforces Round 35 A]

http://codeforces.com/contest/911/problem/AN個の配列Aがある。 この中には最小値が2つ以上入っている。 最小値の間の距離の最小値を答えよ。

CardShuffle [yukicoder No.619]

https://yukicoder.me/problems/no/619

Minimum SubArray [CodeChef December Cook-Off 2017 C]

https://www.codechef.com/COOK89/problems/MINSUBARN個の配列Aがある。 この中の連続部分列で、総和がD以上となるもので最小の長さを答えよ。

Beautiful Array [CodeChef December Cook-Off 2017 B]

https://www.codechef.com/COOK89/problems/BTARN要素の配列Aがある。 1回の操作で「配列の要素を2つ選んで取り除き、その和を挿入する」ことが出来る。 最低何回の操作で配列Aの中身を全て4の倍数にできるか。 もし、できないならば"-1"

Football Match [CodeChef December Cook-Off 2017 A]

https://www.codechef.com/COOK89/problems/FBMT N試合あり、勝ったチームが記録される。 どのチームが勝ったかを出力せよ。勝数が同数の場合は"Draw"とする。

Shockers [Codeforces Round #454 A]

http://codeforces.com/contest/906/problem/A文字当てゲームをする。 相手は'a'~'z'の1つを決める。 これに対して自分はN回行動した。 行動"! s" := 文字列sを渡すと、その中に決められた文字が含まれていたので、攻撃される 行動". s" ;= 文字列sを渡すと…

Wide Flip [AtCoder Regular Contest 088 D]

https://beta.atcoder.jp/contests/arc088/tasks/arc088_b

Multiple Gift [AtCoder Regular Contest 088 C]

https://beta.atcoder.jp/contests/arc088/tasks/arc088_a

競技プログラミングにおける枝刈り問題まとめ

枝刈り たまに枝刈り全探索みたいな解法が想定解の場合がある 「貪欲に枝刈りをしていくとなぜか通ってしまう」とか「validな状態はそんなに無いから実装が楽な枝刈り全探索」とかそういうのがある 枝刈りで計算量が落とせる名前がついている手法 二乗の木DP…

GCD of Polynomials [Codeforces Round #453 B]

http://codeforces.com/contest/901/problem/B多項式でユークリッドの互除法をやる。 ユークリッドの互除法の計算回数がN回となる2組の多項式を答えよ。 なお多項式の係数は-1,0,1のどれかにせよ。答え方は、係数で答える。 3 1 2 3 4であれば、3次多項式で…

Hashing Trees [Codeforces Round #453 A]

http://codeforces.com/contest/901/problem/A高さHの木を考える。 高さiの頂点数がa[i]である。これを満たす根付き木がただ1つに定まるなら「perfect」を出力する。 もし、複数個あるなら「ambiguous」と出力し、その中から2例出力せよ。

Unpacking [SRM726 Div1 Easy]

N個の箱がある。 i番目の箱には赤飴a[i]個、青飴b[i]個入っており、値段はcost[i]である。 箱に入っている飴の量は増減する可能性があり、 赤a[i]個、青b[i]個 赤a[i] + 1個、青b[i] - 1個 赤a[i] - 1個、青b[i] + 1個 の3状態ありえる。 N個の箱のうち、い…

競技プログラミングにおける重心分解問題まとめ

重心分解 Centroid Decomposition 資料1 資料2 資料3 「木上のクエリ」と「木全体についての数え上げ・最大最小」で使える。実装方針が全然違うので、別物で考えたほうがいい。 木上のクエリでは同心円状に伝搬させることが出来るのが良い (「部分木->オイ…

Medical Checkup [ICPC2017 アジア予選C]

http://judge.u-aizu.ac.jp/onlinejudge/cdescription.jsp?cid=ICPCOOC2017&pid=CN人の受診者がいる。 i番の受診者は検査を1つ受けるのにH[i]分かかる。 1番目の受診者から順番に検査1から順に受けていく。 各検査は1人ずつしか受けられない。 T分経ったあと…

Parallel Lines [ICPC2017アジア予選 B]

http://judge.u-aizu.ac.jp/onlinejudge/cdescription.jsp?cid=ICPCOOC2017&pid=BM点ある(Mは偶数)。 i番目の座標は(X[i], Y[i])。 全ての点を2点でマッチングさせて、直線を引く。 平行である線の組の最大個数は?

Secret of Chocolate Poles [ICPC2017アジア予選 A]

http://judge.u-aizu.ac.jp/onlinejudge/cdescription.jsp?cid=ICPCOOC2017&pid=A高さLのポールがある。 ここに 高さ1cmの黒ディスク 高さKcmの黒ディスク 高さ1cmの白ディスク を乗せる。 以下の条件を満たすディスクの入れ方は何通りあるか? 最低1枚はデ…

Day of the Mountain [yukicoder No.611]

https://yukicoder.me/problems/no/611

FT Robot [AtCoder Regular Contest 087 D]

https://beta.atcoder.jp/contests/arc087/tasks/arc087_b

Good Sequence [AtCoder Regular Contest 087 C]

https://beta.atcoder.jp/contests/arc087/tasks/arc087_a

Strictly Increasing Array [CSAcademy #61]

https://csacademy.com/contest/round-61/task/strictly-increasing-array/N個の配列Vがある。 この配列に対して「ある要素の数を変更する」操作ができる。 配列全体が狭義単調増加列となるような操作の最小回数は?

Paint the Fence [CSAcademy #61 C]

https://csacademy.com/contest/round-61/task/paint-the-fence/N枚の連続した壁がある。 M人の職人がいる。 i番目の職人は[L[i],R[i]]を塗る。 各i番目の職人について、その職人がもし塗らず、他の職人が全て塗った場合に塗られていない壁の数を答えよ。

Alternant Array [CSAcademy #61 B]

https://csacademy.com/contest/round-61/task/alternant-array/N個の0とN個の1から成る2N個の配列がある。 これを任意回スワップして、10101010...か01010101...にする最小スワップ回数は?

Celsius to Fahrenheit [CSAcademy #61 A]

https://csacademy.com/contest/round-61/task/celsius-to-fahrenheit/セ氏度の温度が与えられるので、カ氏度に直せ。 なお、小数点以下は切り捨てよ。