题目链接:http://codeforces.com/gym/101466/problem/K 题目: 题意: 给你一棵有n个节点的树,根节点始终为0,有两种操作: 1.RAND:查询以u为根节点的子树上的所有节点的权值的乘积x,及x的因数个数。 2.SEED:将节点u的权值乘以x。 思路: 比赛时 ...
分类:
其他好文 时间:
2018-08-19 20:33:35
阅读次数:
210
Tamref love random numbers, but he hates recurrent relations, Tamref thinks that mainstream random generators like the linear congruent generator suck ...
分类:
其他好文 时间:
2018-08-19 19:03:01
阅读次数:
276
题意 给定一棵n个节点的带权树,节点编号为1到n,以root为根,设sum[p]表示以点p为根的这棵子树中所有节点的权值和。计算姬支持下列两种操作: 1 给定两个整数u,v,修改点u的权值为v。 2 给定两个整数l,r,计算sum[l]+sum[l+1]+….+sum[r-1]+sum[r] N<= ...
分类:
编程语言 时间:
2018-08-16 16:32:31
阅读次数:
175
题目链接 题目大意: 有一棵N个结点树和N头奶牛,一开始所有奶牛都在一号结点,奶牛们将按从编号1到编号N的顺序依次前往自己的目的地,求每头奶牛在去往自己目的地的途中将会经过多少已经有奶牛的结点。 题解: 可以发现,每一头奶牛到达目的地后,都只会对还未到达目的地的奶牛中,目的地在它目的地子树中的奶牛的 ...
题意:现在有一棵树,1号节点是水源,叶子节点是村庄,现在有些怪兽会占领一些村庄(即只占领叶子节点),现在要割去一些边,使得怪兽到不了水源。给出怪兽占领和离开的情况,现在要割每次回答最小的割,使得怪兽不与1号节点有联系,而且满足被阻隔的村庄最少。输出最小割与组少的被误伤的村庄。 思路:把与一号节点相邻 ...
分类:
其他好文 时间:
2018-08-11 01:18:54
阅读次数:
152
线段树+dfs序 给定一棵n个节点的树,m次查询,每次查询需要求出某个节点深度为h的所有子节点。 作为预处理,首先将树的所有节点按深度保存起来,每个深度的所有节点用一个线性结构保存,每个深度的节点相对顺序要和前序遍历一致。 然后从树的根节点进行dfs,对于每个节点记录两个信息,一个是dfs进入该节点 ...
分类:
移动开发 时间:
2018-08-09 19:25:59
阅读次数:
210
题意:树上每个点都有颜色,称一个颜色占领一棵子树,当且仅当没有别的颜色在这棵子树内的数量比它多。求所有子树的占领颜色之和。题解:最显然的是DFS序+主席树或莫队,这里使用Dsu on tree。 每次暴力DFS之后,只撤销除重儿子之外的点的贡献。由于重儿子的性质,均摊后复杂度为$O(n\log n) ...
分类:
其他好文 时间:
2018-08-08 18:51:00
阅读次数:
177
There is an apple tree outside of kaka's house. Every autumn, a lot of apples will grow in the tree. Kaka likes apple very much, so he has been carefu ...
分类:
移动开发 时间:
2018-08-03 18:07:31
阅读次数:
198
原题链接 题意: 给你一个n个节点的树,每个节点上一开始都有一个苹果,现在有两种操作: Q x :查询 x 节点以及它的子树上一共有多少苹果; C x :若 x 节点上没有苹果,则增加一个,反之,则减少一个; 思路: 这是一个区间查询,单点修改的问题,我们就会想到用树状数组来做,但是怎么去维护树上的 ...
分类:
移动开发 时间:
2018-08-03 01:01:01
阅读次数:
150