
dfs
文章平均质量分 77
Green_G
这个作者很懒,什么都没留下…
展开
-
【cf453C】Little Pony and Summer Sun Celebration
题目链接:Little Pony and Summer Sun Celebration这题其实就是要构造一条路径满足每个点访问的奇偶性满足题目给出的条件。发现如果想改变当前点的奇偶性只要先访问另外一个点再回来就可以了,然后只要dfs一次,但是起点从哪开始以及如何回溯都没有想明白..后来看了别人的题解,dfs过程中记录每个点,并且回溯也记录下来,每次回溯的时候检查一下刚才这个点是否满足奇偶性原创 2015-01-18 17:23:27 · 617 阅读 · 0 评论 -
codeforces 383C Propagating tree
给一棵树,有20w个结点,每一个节点有一个初值,接下来有20w个询问,支持两种操作,一种是对某个节点+x,然后对子节点-x,再对孩子节点的子节点+x...,另外一种操作是查询某个节点的值。如果用朴素的做法,查询是o(1)的,但是更新的操作是o(n)的,这样显然是不行的。更新是对奇数层和偶数层节点进行更新,接下来神奇地运用了dfs序,对整个树进行dfs,并对点标上时间戳,更新一个节点就要对整原创 2015-02-06 23:33:31 · 388 阅读 · 0 评论 -
hdu1427 速算24点问题
给定4个数,范围在1~13之内,可以使用+、-、*、/以及括号去构成24点。问这个四个数是否可以构成24点。这个问题的核心思想是枚举,枚举的内容为4个数的全排列,加的先后顺序和符号。枚举4个数的全排列可以用c++的stl来实现,next_permutation()。枚举先后顺序和符号则可以用dfs来实现看到一种比较优美的写法#include#include#include原创 2015-04-12 10:48:17 · 446 阅读 · 0 评论 -
CF 739B - Alyona and a tree
题目大意:一棵树有n(n≤2∗105)n(n\leq 2*10^5)个点,编号为1−n1-n,固定11号节点为根。每个点有一个值aia_i,树上的每一条边的长度为wiw_i。对每一个点定义一个支配值cic_i,cic_i为ii点为根的子树中的满足到ii的距离不超过aja_j的点j的个数。 求每个点的cic_i。题解:比较容易想到,对于每一个点ii,二分它的祖先节点,找到第一个到ii的距离大于aia_原创 2016-11-27 15:32:58 · 475 阅读 · 0 评论