#aBC244F. [ABC244F] Shortest Good Path

[ABC244F] Shortest Good Path

AT_abc244_f [ABC244F] Shortest Good Path

题目描述

给定一个包含 NN 个顶点和 MM 条边的简单(无自环且无重边)且连通的无向图。
对于 i=1,2,,Mi = 1, 2, \ldots, M,第 ii 条边连接顶点 uiu_i 和顶点 viv_i

满足以下两个条件的整数序列 (A1,A2,,Ak)(A_1, A_2, \ldots, A_k) 被称为长度为 kk路径

  • 对于所有 i=1,2,,ki = 1, 2, \ldots, k,有 1AiN1 \leq A_i \leq N
  • 对于所有 i=1,2,,k1i = 1, 2, \ldots, k-1,顶点 AiA_i 和顶点 Ai+1A_{i+1} 之间有一条边直接相连。

空序列也被视为长度为 00 的路径。

S=s1s2sNS = s_1s_2\ldots s_N 是一个仅由 0011 组成的长度为 NN 的字符串。当路径 A=(A1,A2,,Ak)A = (A_1, A_2, \ldots, A_k) 满足下述条件时,称路径 AA 是关于 SS好路径

  • 对于所有 i=1,2,,Ni = 1, 2, \ldots, N,满足以下条件:
    • si=0s_i = 0,则 AAii 出现的次数为偶数。
    • si=1s_i = 1,则 AAii 出现的次数为奇数。

对于所有可能的 SS(即所有长度为 NN 的仅由 0011 组成的字符串,共有 2N2^N 个),请输出“关于 SS 的好路径中最短的路径长度”的总和。

在本题的约束下,可以保证无论选择哪一个由 0011 组成的长度为 NN 的字符串 SS,都至少存在一个关于 SS 的好路径。

输入格式

输入以如下格式从标准输入读入。

NN MM
u1u_1 v1v_1
u2u_2 v2v_2
\vdots
uMu_M vMv_M

输出格式

请输出答案。

输入输出样例 #1

输入 #1

3 2
1 2
2 3

输出 #1

14

输入输出样例 #2

输入 #2

5 5
4 2
2 3
1 3
2 1
1 5

输出 #2

108

说明/提示

约束

  • 2N172 \leq N \leq 17
  • N1MN(N1)2N-1 \leq M \leq \frac{N(N-1)}{2}
  • 1ui,viN1 \leq u_i, v_i \leq N
  • 给定的图是简单且连通的
  • 输入均为整数

样例解释 1

  • S=000S = 000 时,空序列 ()() 是关于 SS 的最短好路径,其长度为 00
  • S=100S = 100 时,(1)(1) 是关于 SS 的最短好路径,其长度为 11
  • S=010S = 010 时,(2)(2) 是关于 SS 的最短好路径,其长度为 11
  • S=110S = 110 时,(1,2)(1, 2) 是关于 SS 的最短好路径,其长度为 22
  • S=001S = 001 时,(3)(3) 是关于 SS 的最短好路径,其长度为 11
  • S=101S = 101 时,(1,2,3,2)(1, 2, 3, 2) 是关于 SS 的最短好路径,其长度为 44
  • S=011S = 011 时,(2,3)(2, 3) 是关于 SS 的最短好路径,其长度为 22
  • S=111S = 111 时,(1,2,3)(1, 2, 3) 是关于 SS 的最短好路径,其长度为 33

因此,所求答案为 0+1+1+2+1+4+2+3=140 + 1 + 1 + 2 + 1 + 4 + 2 + 3 = 14

由 ChatGPT 4.1 翻译