#P9619. 生成树

    ID: 8814 Type: RemoteJudge 1000ms 128MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>数学生成树Prüfer 序列

生成树

题目背景

我们是未成熟的斗士 现在绝不认输

我们是未成熟的梦想家 现在绝不哭泣

题目描述

现给定一个无向完全图 G(V,E)G(V,E) 和一个长度为 V|V| 的权值数组 aaaia_i 表示编号为 ii 的节点的权值.

定义一条边 e(u,v)e(u,v) 的边值为 val(e)val(e),满足 val(e)=auavval(e)=a_u\oplus a_v,也就是边连接的两个节点的权值的异或和;定义 GG 的一个生成树 T(V,Et)T(V,E_t) 的权值为 Val(T)Val(T),满足 Val(T)=eEtval(e)Val(T)=\sum_{e\in E_t}val(e),也就是树上边的边权和.

您需要求出 TVal(T)\sum_{T}Val(T).即 GG 中所有不同生成树的权值的和.

我们认为两棵生成树是不同的,当且仅当两棵树的边集 EtE_t 不完全相同,即至少存在一条边,满足其仅属于两棵生成树中的其中一棵.

输入格式

包括两行.

第一行是一个整数 nn,表示 V|V|,即节点个数.

第二行是 nn 个整数,依次为 a1ana_1\sim a_n

输出格式

一行一个整数.表示你的答案对 998244353998244353 取模.

3
1 2 3
12
6
1 1 4 5 1 4
19008
10
1 1 4 5 1 4 1 9 1 9
567022588

提示

样例 #1 说明:

考虑一共存在三个生成树 {123},{132},{312}\{1-2-3\},\{1-3-2\},\{3-1-2\}

它们的权值分别为 $(1\oplus 2)+(2\oplus 3)=4,(1\oplus 3)+(3\oplus 2)=3,(3\oplus 1)+(1\oplus 2)=5$.

4+3+5=124+3+5=12

数据点约束

保证对于所有数据,1n1061\le n\le 10^60ai1090\le a_i\le 10^9. |测试点编号|数据范围|特殊性质| |:-:|:-:|:-:| |11||所有 aia_i 相等| |252\sim 5|n4n\le 4|| |6106\sim 10|n300n\le 300|| |111211\sim 12|n5×104n\le 5\times 10^4|ai=[i=1]a_i=[i=1]| |111511\sim 15|n5×104n\le 5\times 10^4|| |162016\sim 20|||