随笔分类 -  DFS

摘要:题目传送门 题目大意: 有一棵点数为 N 的树,以点 1 为根,且树点有权。然后有 M 个操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 思路: 由于是在 阅读全文
posted @ 2018-10-31 23:37 光芒万丈小太阳 阅读(254) 评论(0) 推荐(0)
摘要:题目传送门 题目大意:给出一棵树,1为根节点,每个节点都有权值,每个叶子节点都是一个游戏的结局,选择k个游戏结局,使得权值总和最大,同一个节点不会被重复计算。 思路:这道题最关键的是要想到一个性质,就是不管怎么选,当前子树中,叶子节点最重的那一条链肯定要被选择。(可以反证,如果不选这条链,一定不是最 阅读全文
posted @ 2018-10-30 19:21 光芒万丈小太阳 阅读(319) 评论(0) 推荐(0)
摘要:题目传送门 题目大意: 给定一颗根节点为1的树,有两种操作,第一种操作是将与根节点距离为L的节点权值全部加上val,第二个操作是查询以x为根节点的子树的权重。 思路: 思考后发现,以dfs序建立树状数组,方便查询,不方便修改,以bfs序建立树状数组,方便修改,不方便查询。 在计算子树权重的时候发现, 阅读全文
posted @ 2018-10-28 20:47 光芒万丈小太阳 阅读(185) 评论(0) 推荐(0)
摘要:题目传送门 题目大意:给出一颗树,根节点是0,有两种操作,一是修改某个节点的value,二是查询,从根节点出发,经过 x 节点的路径的最大值。 思路:用树状数组写发现还是有些麻烦,最后用线段树了。 其实这道题的查询,就是查询从根节点到x节点+x节点走下去的路径的最大值,这样会发现,其实就是查询包括x 阅读全文
posted @ 2018-10-27 20:03 光芒万丈小太阳 阅读(158) 评论(0) 推荐(0)
摘要:题目传送门 题目大意: 给出一颗树,每条边都有一个颜色,对一个点来说,如果其他所有点到这个点的简单路径,相连的边颜色都不同,这个点即合法点,统计所有的合法点。 思路: 对于一个节点来说 1、如果这个节点的两个子节点的边颜色一样,那么这两个子节点的子树都要放弃。 2、如果这个节点的子节点和他的父节点的 阅读全文
posted @ 2018-08-29 11:40 光芒万丈小太阳 阅读(319) 评论(0) 推荐(0)
摘要:题目传送门题目描述:给出一颗树,每条边都有权值,然后列出一个n的全排列,对于所有的全排列,比如1 2 3 4这样一个排列,要算出1到2的树上距离加2到3的树上距离加3到4的树上距离,这个和就是一个排列的val,计算所有全排列的val和就可以了。思路:对于一个n的全排列... 阅读全文
posted @ 2018-08-25 21:51 光芒万丈小太阳 阅读(144) 评论(0) 推荐(0)
摘要:1、long long的范围是+-的2^63-1,不是64,而unsigned long long可以到达这个范围。 2、题目答案看似很多,时间复杂度太高时,想想鸽笼原理,可能很少。 3、线性逆元方程 能在o(n)的时间内算出1-n所有数字的逆元。 处理阶乘的逆元 4、模拟题也有可能爆 long l 阅读全文
posted @ 2018-08-11 18:38 光芒万丈小太阳 阅读(178) 评论(0) 推荐(0)
摘要:题目传送门代码有注释。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define CLR... 阅读全文
posted @ 2018-05-24 21:28 光芒万丈小太阳 阅读(1068) 评论(0) 推荐(0)