EX의 경우 : 시퀀스가 1 3 2 4
이되어 이제 증가하는 시퀀스의 수를 찾아야합니다.
O (nlog n) 솔루션에 O (n)와 비교해 볼 때 BIT 알고리즘에 대해 알게되었습니다.BIT를 사용하여 증가하는 스퀘어의 수
int read(int idx){
int sum = 0;
while (idx > 0){
sum += tree[idx];
idx -= (idx & -idx);
}
return sum;
}
를 읽으려면
void update(int idx ,int val){
while (idx <= MaxVal){
tree[idx] += val;
idx += (idx & -idx);
}
}
을 따를
코드 내가 어떻게
그래서 문제가 없음을 찾는 것입니다 (N 로그 n) 주어진 수열에서 증가하는 수의 수? 또한 '어떻게 그들이 BIT 알고리즘을 사용하고 있는지 이해할 수 없다'고 말할 때, 그들이 누구인지를 분명히해야합니다. – smac89