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

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

Rikka와 창고

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

요약
2^n-1개 노드로 이루어진 완전 이진 트리에서 뒤쪽 절반 노드의 값이 주어지고 갱신될 때, 자유 노드 값을 정해 각 간선의 값 차이 제곱합을 최소로 만들고 그 값을 998244353으로 나눈 나머지를 매번 구한다.
난이도

어려움10점 중 9점

유형
트리, 동적 계획법, 수학, 분할 정복
정답자
아직 제출이 없습니다

문제

Algorithm Association이 여는 행사에서는 참가자들에게 레몬 티가 거의 무한히 제공된다. 이렇게 많은 레몬 티를 보관하기 위해 Rikka는 창고를 몇 개 지으려 한다.

Rikka는 N=2n−1N=2^n-1개의 창고와 N−1N-1개의 양방향 도로를 지을 계획이다. ii번째 도로는 (i+1)(i+1)번째 창고와 ⌈i2⌉\lceil \frac{i}{2} \rceil번째 창고를 연결한다.

이 창고들은 울퉁불퉁한 땅 위에 지어진다. 각 i∈[⌈N2⌉,N]i \in [\lceil \frac{N}{2} \rceil, N]에 대해 ii번째 창고의 고도는 aia_i로 주어진다. 나머지 창고의 고도는 Rikka가 임의로 정할 수 있다. 고도는 임의의 실수가 될 수 있다.

가파른 언덕에서 레몬 티를 나르기는 힘들다. Rikka는 도로 체계를 최대한 편하게 만들고 싶어 한다. 따라서 각 도로 양 끝 창고의 고도 차이의 제곱합을 최소화하려 한다. 즉, ans=min⁡a1,…,a⌊N2⌋∈R∑i=1N−1(ai+1−a⌈i2⌉)2ans = \min_{a_1, \dots, a_{\lfloor \frac{N}{2} \rfloor} \in \mathbb R} \sum_{i=1}^{N-1} \left( a_{i+1} - a_{\lceil \frac{i}{2} \rceil}\right)^2

지각 운동 때문에 마지막 ⌈N2⌉\lceil \frac{N}{2} \rceil개 창고의 고도는 자주 바뀐다. 다행히 Rikka는 처음 ⌊N2⌋\lfloor \frac{N}{2} \rfloor개 창고의 고도를 언제든지 자유롭게 바꿀 수 있다.

각 변화 이후의 최적 계획을 구하는 것이 Rikka의 과제이다.

입력

첫째 줄에 두 정수 n,m (2≤n≤18,0≤m≤2×105)n,m\ (2 \leq n \leq 18, 0 \leq m \leq 2 \times 10^5)이 주어진다.

둘째 줄에 ⌈N2⌉\lceil \frac{N}{2} \rceil개의 정수 hi (1≤hi≤108)h_i\ (1 \leq h_i \leq 10^8)가 주어지며, 이는 a⌈N2⌉,…,aNa_{\lceil \frac{N}{2} \rceil}, \dots, a_N을 순서대로 나타낸다. 여기서 N=2n−1N = 2^n-1이다.

이어서 mm개의 줄이 주어지고, 각 줄에는 두 정수 xi,wi (⌈N2⌉≤xi≤n,1≤wi≤108)x_i, w_i\ (\lceil \frac{N}{2} \rceil \leq x_i \leq n, 1 \leq w_i \leq 10^8)가 주어진다. 이는 ii번째 변화에서 xix_i번째 창고의 고도를 wiw_i로 바꾼다는 뜻이다.

출력

총 m+1m+1개의 줄을 출력한다. 각 줄에는 하나의 수를 출력하며, 첫 줄에는 초기 ansans 값을, 그 다음 mm개의 줄에는 각 변화 이후의 ansans 값을 출력한다.

특별 심사 코드를 작성하는 것은 번거로운 일이다. 따라서 답을 998244353998244353으로 나눈 나머지를 출력해야 한다. 구체적으로, ansans를 기약분수로 나타냈을 때 xy\frac{x}{y}라 하면 x×y998244351 mod 998244353x \times y^{998244351} \text{ mod } 998244353을 출력한다.

힌트

첫 번째 예시에서 한 최적해는 a1=2a_1=2이고, ansans의 값은 (2−1)2+(2−3)2=2(2-1)^2 + (2-3)^2 = 2이다.

예제2

  1. 예제 1

    입력
    2 0
    1 3
    
    예상 출력
    2
    
  2. 예제 2

    입력
    3 3
    1 2 3 4
    6 4
    5 4
    4 4
    
    예상 출력
    332748120
    83187032
    748683270
    0