AtCoder Grand Contest 012 B Splatter Painting(记忆化搜索)

题意:

给一个包含N个顶点,M条边,无自环和重边的简单无向图,初始每个点颜色都为0,每条边的长度为1,连接着ai,bi两个节点。经过若干个操作,

每次将与某个点vi距离不超过di的所有点染成某种颜色ci,求最终每个点的颜色。

1 <= N, M, Q <= 1e5, 1 <= ai, bi, vi <= N, ai != bi.

0 <= di <= 10, 1 <= ci <= 1e5。

分析:

考虑对操作逆向,f[k][d]表示以k点为中心,dist=d的区域是否之前已经被染过,如果染过那么就不需要再染了(因为是倒序的)

这样复杂度就是O(n*d)的

posted @ 2017-05-20 21:55  Chellyutaha  阅读(178)  评论(0编辑  收藏  举报