백준 20176번 Needle
문제 요약 길이가 최대 5만인 수열 $A, B, C$가 주어집니다. 이 때 ,$A_i, B_j, C_k$가 등차수열이 되는 $(i,j,k)$ triplet의 개수를 구해야 합니다. 들어오는 수열의 원소들의 범위는 [-30,000, 30,000]입니다. 풀이 어떤 세 수 $a, b, c$가 등차수열을 이룬다면 아래와 같은 식이 성립합니다. $$ 2b=a+c $$ 따라서, 문제에서 원하는 것은 $2B_j=A_i+C_k$인 $(i,j,k)$의 개수입니다. 다행히도 세 수열 $A,B,C$의 각 원소의 범위는 크기가 6만입니다. 수열 $cnt_A(i)$를 $A$에서 원소가 $i$인 것의 개수라고 합시다. 그러면 $cnt_A$와 $cnt_C$의 Convolution $cnt$를 구하면 $cnt(k)$는 아래와 같은..