아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

길 위의 순열: Bob

시간 제한2초메모리 제한1024 MB

요약
부분 배열의 역전 개수를 돌려주는 질의를 최대 N번 사용해 길이 N인 숨겨진 순열을 알아낸다.
난이도

어려움10점 중 8점

유형
분할 정복, 수학, 조합론, 구간
정답자
아직 제출이 없습니다

문제

Alice와 Bob은 지역에서 열리는 여러 프로그래밍 대회에 참가하기 위해 자주 장거리 여행을 떠난다. 두 사람이 사는 주에서는 모든 것이 더 크기 때문에, 둘은 시간을 때우려고 차 안에서 할 수 있는 게임을 하게 되었다.

Alice와 Bob은 둘 다 컴퓨터 과학자라서 "숫자 맞히기" 게임에 금방 흥미를 잃었다. 숫자를 맞히는 사람은 로그 개수의 추측으로 항상 답을 찾아낼 수 있기 때문이다. 난이도를 높이기 위해 두 사람은 새로운 게임 "순열 맞히기"를 만들었다.

길이 NN의 순열은 1,…,N1, \dots, N을 나열한 것이다. 순열 PP가 주어졌을 때, inv(l,r)\text{inv}(l, r)은 l≤i≤j≤rl \leq i \leq j \leq r이고 Pi>PjP_i > P_j인 쌍 (i,j)(i, j)의 개수로 정의한다.

이 게임에서 Alice는 순열 하나를 생각하고, Bob은 최대 NN개의 입력에 대해 함수 inv\text{inv}의 결과를 Alice에게 물어볼 수 있다.

Bob이 Alice의 순열 PP를 알아낼 수 있도록 도와줄 수 있는가?

예제1

  1. 예제 1

    입력
    1
    0
    
    예상 출력
    ? 1 1
    ! 1