我最近越来越感觉到我弱爆了。
今天下午全机房做hnoiD2,但是我只会敲暴力……第二题看着像点分治,可是我不会写~ ~ ~
看来多做题确实是真理 ~ ~ ~
这道题精妙极了!
引用一段PoPoQQQ大神的话:
由朱刘算法的推论可知,如果除根节点外每个点都选择一条入边,由于没有环,因此一定会形成一个树形图;
因此答案就是 ∏ni=2=2×degreei ,其中degreei表示第i个点的入度。
引用完毕
这样加了一条从x到y的边后如果继续用这个公式的话会多算一些不合法的情况,即存在环的情况。我们考虑一下怎么干掉它。
首先明显最多只会出现一个环。这个环是由原来存在的从y到x的一条路径与现在加上的从x到y的边相连接形成的。
除去这个环,剩下的还是一棵树(形图)。
那么不合法的方案实际上是许许多多环+树(仙人掌?我只是吐槽……)
设 S为y→x 的某条路径上的点的集合,那么非法方案的总数是
∑S
【bzoj4011】【hnoi2015】落忆枫音【精妙的动态规划】
最新推荐文章于 2019-02-13 11:41:51 发布