library-checker-problems icon indicating copy to clipboard operation
library-checker-problems copied to clipboard

[問題案] {0,1,...,n-1} 上の関数の累乗

Open SSRS-cp opened this issue 2 years ago • 9 comments

問題ID: ? 問題名: ?

想定アルゴリズム: 周期性を利用してまとめる

問題概要

長さ N の整数列 a_0, a_1, ..., a_{N-1} が与えられる。0≦a_i<N である。また、整数 X が与えられる。 b_i=a_a_...a_i (a が X 個) とする。各 i について b_i を求めよ。

入力

N
a_0 a_1 ... a_{N-1}
X

出力

b_0 b_1 ... b_{N-1}

制約

1≦N≦5×10^5 0≦a_i<N 0≦X≦10^18

メモ

もっといい感じの問題文があるかもしれないです

SSRS-cp avatar Jul 02 '22 14:07 SSRS-cp

functional graph という言葉を問題名に入れるとわかりやすそう?X はクエリにしてもよいかと。

maspypy avatar Jul 02 '22 14:07 maspypy

クエリ

「i, X が与えられて、i に x→a_x を X 回やった後の値を答える」ということですか?

SSRS-cp avatar Jul 02 '22 14:07 SSRS-cp

はい

maspypy avatar Jul 02 '22 14:07 maspypy

それは少し難しくなりませんか (Level Ancestor が部分問題なので)

SSRS-cp avatar Jul 02 '22 14:07 SSRS-cp

ああ線形時間でやりたいってことですか。把握。

maspypy avatar Jul 02 '22 15:07 maspypy

はい ダブリングで Θ(NlogX) は簡単ですが、O(N) の実装は割とややこしいので問題を立ててもよいかなと思いました。

SSRS-cp avatar Jul 02 '22 15:07 SSRS-cp