F - A Very Easy Graph Problem HDU - 6832 未解决

An undirected connected graph has $n$ nodes and $m$ edges, The $i$-th edge’s length is $2^i$. Each node $i$ has a value $a_i$, which is either $0$ or $1$. You need to calculate:

$$
\sum_{i=1}^{n}\sum_{j=1}^{n}d(i,j)\times [a_i=1\wedge a_j=0]
$$

$d(i,j)$ indicates the shortest distance between $i$ and $j$. $[\ ]$ is the Iverson bracket. $\wedge$ indicates $\texttt{AND}$.

Because the answer may be too large, please output the answer modulo $10^9 + 7$.
InputThe first line contains one integer $T$($1\le T \le 8$),indicating the number of test cases.

The second line contains two ingeters $n,m$($1\le n\le 10^5,1\le m\le 2\times 10^5$).

The third line contains $n$ positive integers $a_1,a_2,...,a_n(a_i = 0$ or $1$) —— the value of the nodes.

The following $m$ lines contain two ingeters $u,v(1
\le u,v \le n)$, and the $i$-th line represents the i-th undirected edge’s length is $2^i$, between node $u$ and $v$.

The sum of $n,m$ is no more than $2\times 10^5$.OutputPrint a single integer—— the value of the answer modulo $10^9+7$.Sample Input
1
3 2
0 1 0 
3 1
3 2
Sample Output
10
Sponsor

 

题意:

给出一个无向连通图,里面的点分为0号点和1号点,第i条边的边权是2的i次。

询问所有1号点到0号点的最短路径之和。

题解:

  建树,最短路径都在图的最小生成树上

  统计单边的贡献:

    一边跑一边计数 乘上边权值

 

附代码(未通过,待解决)

 

  

 

posted @ 2020-08-11 16:25  YukiRinLL  阅读(126)  评论(0编辑  收藏  举报