배열 $ a $, 우리는 $ a_ {j} $-$ a_ {i} $ modulo $ 998244353 $ 998244353 $ j $ j> i $에 대한 $ 998244353 $를 찾아야합니다.

cs.stackexchange https://cs.stackexchange.com/questions/128025

문제

배열 $ a $ , $ a_ {j} $ 의 제품을 찾아야합니다.- $ A_ {i} $ modulo $ 998244353 $ 모든 $ i $ $ j $ 주어진 $ j> i $ .


예를 들어.배열이 $ 1,2,3 $ 을 사용하도록하십시오. 그러면 내 대답은
$ (2-1) $ . $ (3-1) $ . $ (3-2) $ = $ 2 $
배열의 요소의 수가 크게 될 수 있습니다 (upto $ 10 ^ 5 $ ) 나는 $ nlogn의 솔루션을 찾고 있습니다.$ .
나는 배열을 다항식으로 표현했지만 아무것도 밖으로 얻을 수있었습니다. 제발 도와주세요.

도움이 되었습니까?

해결책

제품 $$ v=prod_ {i vandermonde matrix $ a_1, a_2, ..., a_n $ .

이 수의 제곱은 판별 $ d $ $$ p (x)=prod_i (x-a_i) $$

이것은 $$ v ^ 2= d= (- 1) ^ {n (n-1) / 2} \ prod_ip '(a_i) $$

$ P (x) $ $ p '(x) $ < / span>, $ n $ 포인트 $ a_1, a_2, ..., a_n $ 및 그들의 제품. 그런 다음 제곱근을 계산합니다. $ V $ 스위치 수의 패리티를 정렬하고 계산하여 결정합니다.

$ o (n \ log ^ 2 (n)) $ 을 모두 수행 할 수 있습니다.

관련 알고리즘 < / a>.

모듈 형 사각형 루트의 경우 Tonelli-shanks 효율성. Prime $ 998244353 $ 이 고정되기 때문에이 단계의 이론 순서가 일정합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top