卧薪尝胆,厚积薄发。
无
Date: Mon Feb 25 08:01:20 CST 2019
In Category:
NoCategory
Description:
给出一张有向图,要求支持加边,每个点有两个权值
$a,b$
,维护所有可达点对
$i\to j$
的
$a_i\times b_j$
的和。
$1\leqslant n\leqslant1000$
Solution:
发现每次点对只会增加不会减少,因此如果能够每次加边快速找出新产生的可达点对,就可以均摊
$O(n^2)$
的计算,设
$f(a)$
表示从
$a$
出发可以到达的点的集合,
$g(a)$
表示可以到达
$a$
的点的集合,假如这次连的边为
$a\to b$
,新增的点对为
$p\to q$
,那么显然
$p\in g(a),p\not \in g(b)\Rightarrow p\in \complement_{g(a)}g(b)$
,然后这些
$p$
显然都可以通过边
$a\to b$
到达一些新的点,枚举
$p$
,同理
$q\in \complement_{f(b)}f(p)$
,于是暴力计算就行了,时间复杂度
$O(n^3/w)$
。
Code:
没有代码
In tag:
技巧-bitset
Copyright © 2020
wjh15101051
ღゝ◡╹)ノ♡