| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 254 | 147 | 131 | 59.009% |
아래는 Call for Tasks 당시 작성한 지문이다. 믿거나 말거나. 이 문제를 이해하고 선정한 파딱에게 박수를 보내주자. 쉬운 설명의 지문은 아래에 적어놓았다.
길이 $N$의 $1$차원 음향 복도를 정수 격자 $\Omega=\{1,2,\dots,N\}$ 로 모델링한다. 기록 시각 $T$에서 각 위치 $i\in\Omega$에서 관측된 음향 변위는 $y_i\in\mathbb Z$로 주어진다.
각 격자점에는 유한 개의 스피커를 설치할 수 있으며, 스피커 $j$는 위치 $x_j\in\Omega$, 방사 진폭 $v_j\in\mathbb Z\cap[1,2\times10^9]$, 그리고 이산 위상 $\phi_j\in \{0,1,2,3\}$를 갖는다.
스피커 $j$가 복도 위치 $i$에서 유도하는 음향 변위 $\Delta y_i^{(j)}$는 다음과 같이 정의된다. 헤비사이드 계단함수 $H:\mathbb R\to\{0,1\}$를 $H(t)= \begin{cases} 0 & t<0 \\ 1 & t\ge 0\end{cases}$ 로 정의한다.
$$\Delta y_i^{(j)} = \Biggl( \lim_{z \to 0^+} \frac{(1+z)^{v_j}-1}{z} \Biggr) \cdot \Biggl( \int_{0}^{1} H\bigl(i-x_j+1-s\bigr) ds \Biggr) \cdot \Biggl( \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)!} \left(\frac{\pi}{2}\right)^{2n+1} (i-x_j-\phi_j)^{2n+1} \Biggr)$$
기록 시각 $T$에서 관측된 음향 변위는 모든 스피커의 방사 효과가 선형적으로 중첩된 결과로, $ y_i=\sum_{j=1}^{M}\Delta y_i^{(j)}, \forall i\in\Omega $를 만족한다.
주어진 관측값 $y_1,y_2,\cdots,y_N$에 대해 위의 음향 변위 공식을 만족시키는 스피커 파라미터 집합을 구성하라. 단, 설치된 스피커의 총 개수 $M$이 최소가 되어야 한다.
아니 왜.
$1$차원 모양의 복도에는 $1$번부터 $N$번까지 칸이 있고, 어떤 순간에 각 칸의 수 $y_1, y_2, \cdots, y_N$를 기록했다. 이 수는 여러 개의 스피커 소리를 모두 합친 결과이다.
스피커 $1$개는 다음 규칙을 가진다.
기록값 $y_i$는 설치된 모든 스피커가 $i$번째 칸에 준 영향을 전부 합친 값이다. 주어진 $y_1, y_2, \cdots, y_N$을 만들 수 있는 스피커 배치가 궁금하다. 그중에서 설치한 스피커 수가 최소가 되는 스피커 배치를 찾아보자.
아래 [지문 보기] 텍스트를 클릭하면 엄격하게 정의를 설명한 지문을 볼 수 있다. 입력, 출력, 예제 설명은 엄격하게 정의를 설명한 지문을 기준으로 작성했음을 유의하라.
길이가 $N$인 $1$차원 배열 형태의 복도가 있다. 복도에서 기록 시각 $T$에 각 위치의 음파 변위를 기록했으며, 복도의 $i$번째 위치에서의 기록값은 정수 $y_i$이다. 기록된 변위값 $y_i$는 음수가 될 수 있다. $(1\le i\le N)$
복도의 각 위치 $i$에는 스피커를 여러 대 설치할 수 있는 거치대가 마련되어 있다. 스피커 $j$는 다음 속성을 가진다. $(1\le j\le M)$
스피커가 복도에 영향을 주는 공식을 소개하기 앞서 필요한 식을 소개한다. 먼저, 스피커 $j$가 위치 $i$에 영향을 미치는 경우와 미치지 않는 경우를 나누는 함수 $f(i, x_j)$를 정의한다.
$$f(i, x_j)= \begin{cases} 0 & i \lt x_j \\ 1 & i \ge x_j\end{cases}$$
그리고 스피커 $j$가 각 위치에 어떻게 영향을 주는지를 담은 함수 $g(k)$를 정의한다.
$$g(k)= \begin{cases} 0 & k \equiv 0 \pmod{4} \\ +1 & k \equiv 1 \pmod{4} \\ 0 & k \equiv 2 \pmod{4} \\ -1 & k \equiv 3 \pmod{4} \end{cases}$$
스피커 $j$가 복도의 위치 $i$에 미치는 영향 $\Delta y_i^{(j)}$는 다음과 같다.
$$\Delta y_i^{(j)}=v_j\times f(i, x_j) \times g(i-x_j-\phi_j)$$
아래는 $\Delta y_i^{(j)}$ 식에 대해 부연 설명한 글이다.
기록값 $y_i$는 다음과 같이 설치된 모든 스피커의 영향을 합친 값이다.
$$y_i=\sum_{j=1}^M\Delta y_i^{(j)}$$
정리하면 각 스피커는 $x_j$부터 시작해 오른쪽으로만 전달되는 $4$칸 주기 파형을 만들고, 기록값 $y_i$는 그러한 파형 변위들의 합이다.
당신은 기록 시각 $T$에서 기록한 값 $y_1$, $y_2$, $\cdots$, $y_N$을 보고 가능한 스피커의 배치를 찾아야 한다. 만족하는 스피커 배치 중 스피커 개수가 최소가 되는 배치를 구해보자.
첫째 줄에 $N$이 주어진다. $(1 \le N \le 1\,000\,000)$
둘째 줄에 $y_1$, $y_2$, $\cdots$, $y_N$이 공백으로 구분되어 주어진다. $(-10^9 \le y_i \le 10^9)$
주어진 입력에 대해 조건을 만족하는 스피커 배치가 항상 존재함이 보장된다.
첫째 줄에 설치한 스피커 최소 개수 $M$을 출력한다.
다음 $M$개 줄에 걸쳐 설치한 스피커 정보를 출력한다. 그중 $j$번째 줄에는 정수 $x_j$, $v_j$, $\phi_j$를 공백으로 구분하여 출력한다. $(1 \le x_j \le N$; $1 \le v_j \le 2 \times 10^9$; $0 \le \phi_j \le 3)$
만족하는 스피커 배치가 여러 개라면 그중 아무것이나 출력한다.
5 1 3 -1 -3 1
2 1 1 3 1 3 0
$$\begin{array}{c|rrrrrr}& y_1& y_2& y_3& y_4& y_5 \\\hline \ 1 & +1 & 0 & -1 & 0 & +1\\\ 2 & 0 & +3 & 0 & -3 & 0\end{array}$$
5 0 0 0 0 0
0
5 -6 1 -2 2 -1
5 1 1 0 1 6 1 5 3 1 2 8 2 4 3 3
$$\begin{array}{c|rrrrrr}& y_1& y_2& y_3& y_4& y_5\\\hline \ 1 & 0 & +1 & 0 & -1 & 0\\\ 2 & -6 & 0 & +6 & 0 & -6\\\ 3 & 0 & 0 & 0 & 0 & -3\\\ 4 & 0 & 0 & -8 & 0 & +8\\\ 5 & 0 & 0 & 0 & +3 & 0 \end{array}$$
예시 사진은 $1$차원 배열 형태가 아니지만, 이해를 돕기 위해 $2$차원 좌표평면으로 표현하였다.
스피커 $1$은 $x_1=1$, $v_1=1$, $\phi_1=0$이므로 위치 $1$번에 설치되었고, 볼륨이 $1$이고, 위상이 $0$이므로 위 사진과 같이 복도에 영향을 준다.
스피커 $2$는 $x_2=1$, $v_2=6$, $\phi_2=1$이므로 위치 $1$번에 설치되었고, 볼륨이 $6$이고, 위상이 $1$이므로 위 사진과 같이 복도에 영향을 준다.
스피커 $3$은 $x_3=5$, $v_3=3$, $\phi_3=1$이므로 위치 $5$번에 설치되었고, 볼륨이 $3$이고, 위상이 $1$이므로 위 사진과 같이 복도에 영향을 준다.
스피커 $4$는 $x_4=2$, $v_4=8$, $\phi_4=2$이므로 위치 $2$번에 설치되었고, 볼륨이 $8$이고, 위상이 $2$이므로 위 사진과 같이 복도에 영향을 준다.
스피커 $5$는 $x_5=4$, $v_5=3$, $\phi_5=3$이므로 위치 $4$번에 설치되었고, 볼륨이 $3$이고, 위상이 $3$이므로 위 사진과 같이 복도에 영향을 준다.
예제 3번에서의 모든 스피커의 영향을 합친 결과는 위 사진과 같다.
Contest > BOJ User Contest > 피갤컵 > 제3회 피갤컵 D번