Lilliput Steps

小さな一歩から着実に. 数学やプログラミングのことを書きます.

Codeforces

Codeforces 472D - Design Tutorial: Inverse the Problem

問題文 Design Tutorial: Inverse the Problem 概要 $n$ 頂点の有向グラフの隣接行列 $A$ が与えられる. この行列が各辺に重みがついた無向グラフであり, 木を表していれば YES を, そうでなければ NO を出力せよ. 制約 $n \leqq 2000$

Codeforces 359D - Pair of Numbers

問題文Pair of Numbers概要長さ$n$ の列が与えられる. 次の性質を満たす最長の部分列をすべて求めよ. $a_l,\ a_{l+1},\ \cdots,\ a_r$ を全て割り切る$a_j\ (l \leqq j \leqq r)$ が存在する. $1 \leqq n \leqq 3 \times 10^5,\ 1 \leqq a_i \leqq 10^6$

Codeforces 359C - Prime Number

問題文Prime Number概要 を素数とする. を とするとき(ここで), mod を求めよ.

Codeforces 342E - Xenia and Tree

問題文 : Xenia and Tree概要 : 大きさ$n$ の木が与えられる. 最初頂点0 は赤色で, その他の頂点は青色である. 次の$m$ 個のクエリに答えよ :・頂点$v$ の色を赤色に変える. ・頂点$v$ から赤色のノードまでの最短距離を求める.$1 \leqq n,\ m \leqq 10^5$

Codeforces 283C - World Eater Brothers

問題文 : World Eater Brothers問題概要 :$N$ 頂点からなる有向全域木$G$ が与えられる. 高々2 つの頂点を選んで, この頂点から他の頂点への有向パスが存在するようにするために変えなければならない辺の向きの最小値を求めよ.$N \leqq 3000$

Codeforces 356B - Xenia and Hamming

問題 : Xenia and Hamming概要 :文字列$x$ を$n$ 回繰り返した文字列$a$ と, 文字列$y$ を$m $ 回繰り返した文字列$b$ がある. $a$ と$b$ のハミング距離を求めよ. ただし, ハミング距離とは$\displaystyle \sum_{i=1}^{n} [a_i \neq b_i]$ で定義され, $a_i…

Codeforces 353D - Queue

問題文 : Queue概要 : 長さ$n$ の文字列があり, 'M' と'F' から構成されている. 1 ターンの間に次の動作を行う : "MF" という部分文字列を"FM" に置き換える.文字列が"FF.....MM" という形になるのは何ターン後か?$n \leqq 10^6$

Codeforces 338B - Book of Evil

問題文 : Book of Evil 問題概要 : 大きさ$N$ の木で, $M $個の印をつけた頂点すべてからの距離が$d$ 以内であるものの個数を求めよ.$N , M \leqq 10^5$

Codeforces 336D - Vasily the Bear and Beautiful Strings

問題文 : Vasily the Bear and Beautiful Strings問題概要 :つぎの性質を満たす文字列$s$ の総数をmod $10^9+7$ で求めよ.・$0$ が$n$ 個, $1$ が$m $ 個から成る文字列である. ・$s$ にmodification を0 回以上行うことで最終的に文字列$s$ が文字$g$ にな…

Codeforces Round #192 (Div. 1)

Unusual Round と謳っていたので怖かったですが, 参加してみると楽しかったです.Result : oox.. 240th 1753 -> 1804C が解けそうでC から考えているとB の得点がモリモリ減ってしまったので, 今はまだ低い得点の問題から素早く解いたほうがよさそうです.

Codeforces 258D - Little Elephants and Broken Sorting

問題文 : Little Elephants and Broken Sorting解法 :dp[i][j] : 場所i, j の数をA[i], A[j] として, A[i] > A[j] となる確率, とすると,この配列の初期値はA[i] > A[j] なら 1, A[i] k 回目において,1 / 2 の確率でa[k] 番めの数とb[k] 番目の数が交換され…

Codeforces 121E - Lucky Array

問題文 : Lucky Array解法 : いつぞや誰かから「"Lucky Array"はセグメント木で解けるよ」 と聞いて, 問題を見つけたので挑戦したらそのLucky Array は別の問題だったらしい. セグメント木じゃ解けなさそうなんだよなあと思いつつ, 解法をみて勉強しようとし…

Codeforces 226E - More Queries to Array...

問題文 : More Queries to Array問題概要: 配列 $ \normalsize a$ が与えられるので, 区間 $ \normalsize [l,\ r] $ の値を $ \normalsize x$ に変更する. $ \normalsize \displaystyle \sum_{i = l}^{r} a_{i} \cdot (i - l + 1)^k$ (ただし $\normalsize 0…

Codeforces Beta Round #77 (Div.2 Only)

Virtual Participationでは2問, そのあと全部解き直しました.Cの問題文意味不明すぎて, DかEかを選ぶときにEを選んだのが失敗でした. (Dの方が簡単だったので...)DとEはとっても面白かったです. ちゃんと問題を取捨選択して取り組めるようにする力付けていき…

Codeforces 52C : Circular RMQ

問題文 : Circular RMQ解法 : Starry Sky木をそのまま実装すれば良い問題です. ちなみに, Starry Sky木とは, ・区間[a, b]に値を加算する. ・区間[a, b]の(最大・最小)値を求める の操作が同時に出来るようなデータ構造を指します.この問題特有の「Circular…

Codeforces #143 Div.2 E - Cactus

問題文 : Cactus解法 : 答えは2^(パスs -> tまでの中にあるサイクルの数)になる(図を描いて考察すると分かる.) よって、サイクルを検出して、それを1つの頂点に圧縮する.頂点に圧縮する際に、根付き木にグラフを再構築すると, sとtのLCAをpとしておき s->pの…

Codeforces #79 Div.1 B - Buses

問題文 : Buses解法 : 各バスの出発する地点をs[i], 到着する地点をt[i]とすると バスをt[i]について昇順にソートし、その順に番号をつけます.i番目のバスで乗れる地点は, s[i] ≦ x このjたちは明らかに連続しているので、これらの範囲を満たすjたちを二分探…

Codeforces 75D - Big Maximum Sum

問題文 : Big Maximum Sum解法 : 各配列について ・配列を横断した時の総和 ・配列の左から項をとっていったときの最大値 ・配列の右から項をとっていったときの最大値 ・配列中の要素の最大値を求めると、求めるべき答えは部分列の連続する項を求める問題(A…

Codeforces #138 Div.2

コンテストページ : Cf#138 Div.2結果 : ox-x- 1122th 1495 -> 1409 (-86)感想 : これは笑う. Bは配列の要素が1つ少なくてWAしてしまった(絶望) 今回のセット頑張れば上位食い込めたのに色々こけてしまって残念...解法 :A. 平行六面体の, 3つの面の表面積が…