Codeforces 91
4と7からだけなる数字のセット。以下これをLucky数として...。
B
文字列中の47という部分文字列を、左から順に44または77にindexに応じて変換していく操作を指定した回数行った結果を答えよ、という問題。
無限ループするパターンを潰して、後は愚直に前から順番に行うだけ。
C
1からNまでの整数のPermutationのうちK番目のものについて、Lucky数がLucky数番目にあるものの個数を答えよ、という問題。
Permutationの番号は凄い勢いで増えていき、せいぜい後ろの20個とかそれくらいを計算すれば、他は移動しない。後ろの方のPermutationを復元してやって、カウントするのと、前の移動しない部分にいくつLucky数があるのか合算すればおしまい。
D
区間が与えられるので、指定された回数だけ区間をずらして良いので、全部の区間に入るLucky数の数の最大値を答えよ、という問題。
最大のLucky数と最小のLucky数を決めて、全部の区間に入るように区間を移動させたときに、移動させて良い分量か調べる。もしダメなら、最大のLucky数を大きくしてもダメなので、次の最小のLucky数を調べる。TLEしそう...。
E
整数配列があり、連続領域に同じ値を足す操作と、連続領域にいくつLucky数があるか問い合わせる操作が与えられる。問い合わせの結果をすべて答えよ、という問題。
ありがちだけど解けない問題...。値は広義単調増加で、比較的小さい値で停止するので、それを使って工夫するんだろうか?