题库练习 Graph Coloring (hard version)
← 上一题 下一题 →

A15695 | Graph Coloring (hard version)

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

The only difference between the easy and the hard version is the constraint on $n$ .

You are given an undirected complete graph on $n$ vertices. A complete graph is a graph where each pair of vertices is connected by an edge. You have to paint the edges of the graph into two colors, red and blue (each edge will have one color).

A set of vertices $S$ is red-connected if, for every pair of vertices $(v_1, v_2)$ such that $v_1 \in S$ and $v_2 \in S$ , there exists a path from $v_1$ to $v_2$ that goes only through red edges and vertices from $S$ . Similarly, a set of vertices $S$ is blue-connected if, for every pair of vertices $(v_1, v_2)$ such that $v_1 \in S$ and $v_2 \in S$ , there exists a path from $v_1$ to $v_2$ that goes only through blue edges and vertices from $S$ .

You have to paint the graph in such a way that:

- there is at least one red edge;
- there is at least one blue edge;
- for each set of vertices $S$ such that $|S| \ge 2$ , $S$ is either red-connected or blue-connected, but not both.

Calculate the number of ways to paint the graph, and print it modulo $998244353$ .

输入格式

The first (and only) line contains one integer $n$ ( $3 \le n \le 5 \cdot 10^4$ ).

输出格式

Print one integer — the number of ways to paint the graph, taken modulo $998244353$ .

输入输出样例

输入 #1
3
输出 #1
6
输入 #2
4
输出 #2
50
输入 #3
100
输出 #3
878752271
输入 #4
1337
输出 #4
520628749
输入 #5
42013
输出 #5
906821221
C++ 编辑器
输入
输出