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

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

Acperience

시간 제한1초메모리 제한64 MB

요약
가중치 벡터가 주어질 때 부호와 음이 아닌 배율을 정해 제곱 유클리드 거리를 최소로 만들고, 그 최솟값을 기약분수로 출력한다.
난이도

보통10점 중 5점

유형
수학, 그리디, 정수론
정답자
아직 제출이 없습니다

문제

심층 신경망(DNN)은 컴퓨터 비전과 음성 인식을 비롯한 여러 응용 분야에서 큰 성능 향상을 보여 왔다. 컴퓨터 비전에서는 합성곱 신경망(CNN)이라는 특정한 종류의 DNN이 객체 인식과 검출에서 최고 수준의 결과를 냈다.

합성곱 신경망은 실제 응용에 쓸모 있는 객체 인식과 검출에서 신뢰할 만한 결과를 낸다. 인식 분야의 최근 발전과 더불어 가상 현실(Oculus의 VR), 증강 현실(HoloLens의 AR), 스마트 웨어러블 기기에서도 흥미로운 진전이 있었다. 이 두 가지를 합치면, 최신 인식 시스템의 성능을 스마트 휴대 기기에 탑재할 적기라고 할 수 있다. 그러나 CNN 기반 인식 시스템은 많은 메모리와 연산 능력을 필요로 한다. 값비싼 GPU 기반 기계에서는 잘 동작하지만, 휴대폰이나 임베디드 전자 기기처럼 작은 장치에는 대개 적합하지 않다.

네트워크를 단순화하기 위해 장(張) 교수는 가중치를 이진화하여 CNN에 단순하고 효율적이며 정확한 근사를 도입하려 한다. 장 교수는 여러분의 도움이 필요하다.

더 구체적으로, 가중치 벡터 W=(w1,w2,…,wn)W = (w_1, w_2, \ldots, w_n)가 주어진다. 장 교수는 이진 벡터 B=(b1,b2,…,bn)B = (b_1, b_2, \ldots, b_n) (bi∈{−1,+1}b_i \in \{-1, +1\})와 실수 스케일 인자 α≥0\alpha \ge 0를 골라 ∥W−αB∥2\left\|W - \alpha B\right\|^{2}가 최소가 되게 하려 한다.

여기서 ∥⋅∥\left\|\cdot\right\|는 유클리드 노름을 나타낸다. 즉, X=(x1,x2,…,xn)X = (x_1, x_2, \ldots, x_n)일 때 ∥X∥=x12+⋯+xn2\left\|X\right\| = \sqrt{x_{1}^{2} + \cdots + x_{n}^{2}}이다.

입력

여러 테스트 케이스가 주어진다. 입력의 첫 줄에는 테스트 케이스의 수를 나타내는 정수 TT가 주어진다. 각 테스트 케이스는 다음과 같다.

첫 줄에는 정수 nn (1≤n≤100 0001 \le n \le 100\,000)이 주어진다. 이는 주어진 가중치 벡터의 길이이다. 다음 줄에는 nn개의 정수 w1,w2,…,wnw_1, w_2, \ldots, w_n (−10 000≤wi≤10 000-10\,000 \le w_i \le 10\,000)이 주어진다.

테스트 케이스는 400400개를 넘지 않는다. 입력의 총 크기는 77 메비바이트 이하이다.

출력

각 테스트 케이스마다 ∥W−αB∥2\left\|W - \alpha B\right\|^2의 최솟값을 기약분수 pp/qq로 출력한다. 여기서 pp와 qq는 정수이고 q>0q > 0이다.

예제1

  1. 예제 1

    입력
    3
    4
    1 2 3 4
    4
    2 2 2 2
    5
    5 6 2 3 4
    
    예상 출력
    5/1
    0/1
    10/1