随笔分类 - dsu
摘要:给一颗有根树,每个节点有一个字母,给m次询问,每次询问在i节点的子树下离根节点距离为d的所有节点的字母是否可以组合为回文串。 特别的,如果i节点下没有深度为d的节点都输出Yes。 我们统计每个节点下的子树所有深度的字母。用一个数组表示每个深度的26种字母。每次询问遍历26种字母如果总字母是奇数个且有
        阅读全文
                
摘要:题意就是给一颗有根树再给m个询问,每个询问需要回答第i个节点的子树下有多少个出现k次的数字。 考虑启发式合并,当加入一个节点时如果加入之前是k次那么加入之后答案-1,如果加入后刚好是k次,那么答案+1。 删除操作同理。 #include <bits/stdc++.h> using namespace
        阅读全文
                
摘要:给定一棵n个点的有根树,1为根节点,每个点有一个点权。询问每个点的子树下任意两个数字的gcd最大是多少。 我们可以先把1e5以内所有数字的因数求出来。因为1e5以内数字的因数不超过200个。所以可以暴力做些事情。 树上启发式合并,将重儿子的所有节点的权值以及权值的因子保存下来,然后依次合并轻儿子。 
        阅读全文
                
摘要:给一颗n个节点的树,每个节点上有一个颜色值,1为根节点。有m次询问,每次询问以vj为顶点的子树下颜色数量超过kj个的颜色总共有多少种。 考虑树上启发式合并。 首先将询问保存。每次加入新的节点的时候会把这个节点的颜色值+1,考虑我们把这个节点的颜色值的数量在树状数组中减去1,然后这个颜色值数量+1,在
        阅读全文
                
摘要:给定一棵n个节点的树,每个节点有个权值,1为根节点。把任意节点为根的子树中权值出现次数最多的权值称为占领这个节点的权值。 然而次数最多的权值可能有多个,要求每个节点的占领这个节点所有权值的和。 每个子树上的答案互不相关,考虑用树上启发式合并。 用一个数组记录当前子树的所有权值出现的次数,有新的次数出
        阅读全文
                
摘要:题意很迷,给一棵n个节点的树,每个节点有一个权值是这个节点完成其任务的时间。 比如第一个任务的权值是1,完成它将在第一秒,第二个任务的权值是2,完成前两个任务的时间是3秒。 现在问你完成任务的时间再加上罚时是多少,罚时是完成任务的时间再加上它开始做任务的时间。比如一个任务权值是3,从第四秒开始做,那
        阅读全文
                

 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号