만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

고전적인 합 문제

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

요약
n개 도시가 일렬로 놓여 있고 k명의 친구가 살 수 있는 모든 n^k 가지 경우에 대해, 이동 거리 합이 최소인 도시 번호를 구하고 그 총합을 998244353으로 나눈 나머지를 구합니다.
난이도

보통10점 중 7점

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

문제

공화국 Never에는 도시 nn개와 도로 n−1n-1개가 있다. 도시에는 1번부터 nn번까지 번호가 붙어 있다. 도로에는 1번부터 n−1n-1번까지 번호가 붙어 있으며, ii번 도로는 도시 ii와 도시 i+1i + 1을 잇는다. 모든 도로는 양방향으로 통행할 수 있다. 거리 d(u,v)=∣u−v∣d(u, v) = |u - v|는 도시 uu에서 도시 vv로 이동하는 데 지나야 하는 도로 수의 최솟값이다.

kk명의 친구가 만나려고 한다. ii번째 친구는 도시 aia_i에 산다. 친구들은 ∑i=1kd(v,ai)\sum_{i=1}^k d(v, a_i)를 최소로 만드는 도시 vv를 고른다. 그런 도시가 여러 개이면 그중 번호가 가장 작은 도시를 고른다.

친구 수만 알고 친구들이 사는 도시는 모른다. 각 친구는 nn개 도시 중 어디에나 살 수 있으므로 가능한 경우는 모두 nkn^k가지이다. 모든 경우에 대해 친구들이 고른 도시 번호를 모두 더한 합을 구하라.

입력

첫 줄에 도시 수 nn과 친구 수 kk가 주어진다 (2≤n,k≤1062 \le n, k \le 10^6).

출력

nkn^k가지 경우의 합을 998 244 353998\,244\,353으로 나눈 나머지를 출력한다.

힌트

첫 번째 경우는 도시가 3개, 친구가 2명이므로 가능한 경우가 32=93^2 = 9가지이다. 친구 중 한 명이라도 도시 1에 살면 친구들은 도시 1을 고르며, 이런 경우는 5가지이다. 그렇지 않고 친구 중 한 명이라도 도시 2에 살면 도시 2를 고르며, 이런 경우는 3가지이다. 나머지 1가지는 두 친구가 모두 도시 3에 사는 경우이며, 이때 도시 3을 고른다. 따라서 합은 5⋅1+3⋅2+1⋅3=145 \cdot 1 + 3 \cdot 2 + 1 \cdot 3 = 14이다.

예제2

  1. 예제 1

    입력
    3 2
    
    예상 출력
    14
    
  2. 예제 2

    입력
    5 3
    
    예상 출력
    375