高级农民
- 积分
- 1980
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2016-11-7
- 最后登录
- 1970-1-1
|
我是这样处理的,用Map<Integer, Set<Integer>> 来存储所有边(不区分父子),再用一个parent[n+1]数组来记录每一个数的父节点,从树的顶到尾bfs遍历一下Map可以把Set<>里面所有的父去掉,就只剩下children了。
对于values我是用一个boolean[]先记录一下谁是prime
query的时候一开始是对每个query进行遍历计数prime的个数,但是最后一个case超时。后来用dp来从叶子节点计算以任意节点为根的subtree的prime数量,最后遍历queries就通过了。
虽然晚了点二,但还是希望对大家有帮助。 |
|