A는 최대 1 개의 정수를 포함하는 배열입니다.범위의 정수의 정리
log (N) 복잡도에서이 배열에 대해 2 가지 연산을 수행해야합니다 (여기서 N = A의 수는입니다).
조작 1 소정 V, I, J 우리 A [K](I < < = K = J)에 V를 추가 할 수있다. 난 & J 계산 (A [i가 * A [i가 + 1] * A [i가 + 2] * ... * A [J]) %의 M 주어진
동작 2, . (M은 소수이며 모든 작업에서 동일합니다.)
거의 10 의 작업이 수행됩니다.
log (N)에서 불가능한 경우 작업을 수행하는 데있어 가능한 최상의 복잡성은 무엇입니까?
작업 1의 경우 '추가 v'또는 'v 곱하기'를 실제로 의미합니까? 'v 곱하기'의 경우, 내 솔루션을보다 쉽게 적용 할 수 있습니다. 세그먼트 나무가 'O (log N)'솔루션의 실행 가능한 옵션이라고 생각하지만 지금까지는 운영 1을 수행하는 방법을 알지 못합니다. spoj로 태그를 지정했는데 spoj 문제에 연결할 수 있습니까? – IVlad
@IVlad 또한 ** ** **로 번식하는 것은 세그먼트 트리 또는 이진 인덱싱 된 트리로 수행 할 수 있음을 알았습니다. 이것은 특정 spoj 문제가 아니지만, 그 트릭을 알고 spoj에서 여러 가지 문제를 해결하는 데 도움이됩니다. –
이 작업을 시도 중입니다. 나는 또한 sublinear가 가능하다는 것을 확신하고있다. 나는 아직 문제를 완전히 해결하지 못했지만, (0부터 M-1까지의 정수, M을 덧셈에 덧셈, M을 곱셈하는 곱셈,) 필드를 형성합니다. –