문제 링크
https://www.acmicpc.net/problem/18917
풀이
배열에 들어온 $x$의 합과 XOR을 한 값을 각각 저장한 변수를 따로 둔다면 3번 쿼리와 4번 쿼리에 대한 답을 알 수 있습니다. 배열 $A$에 어떤 수가 추가된다면 그대로의 연산을 하고 두 연산 모두 역원(뺏셈, XOR)이 존재하기 때문에 어떤 수를 제거할 때는 역원으로 연산을 해주면 됩니다. 쿼리마다 $O(1)$연산만 하기 때문에 전체 시간복잡도는 $O(M)$입니다.
전체 코드
1 |
|