摘要: 题意 给定两棵有根树,两棵树均有​n个节点,且根均为​1号点。 问有多少对​(u,v)满足:在给定的两棵树中u均为v的祖先。 思路 本题即求对于所有节点x,两棵树中公共的儿子数量之和。 对于第一颗树,求出其dfs序,然后遍历第二棵树,每达到一个节点,查询该节点的值,表示这个节点同时被两棵树的一些节点 阅读全文
posted @ 2019-09-20 23:30 Ilverene 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 题意 当给定一个序列 a[0],a[1],a[2],...,a[n 1]和一个整数 K 时,我们想找出,有多少子序列满足这么一个条件:把当前子序列里面的所有元素乘起来恰好等于K。 思路 比较裸的背包,将k质因数分解即可。 代码 cpp include using namespace std; nam 阅读全文
posted @ 2019-09-20 23:23 Ilverene 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 题意 有一棵树,从给定的节点出发,遍历所有节点,不要求路径不重叠。要求每一次前往的点与当前点的路径上没有访问过的节点数量最多,若有多个这样的节点,优先取字典序最小的。求遍历顺序。 思路 将出发节点设为树的根节点,dfs一遍,统计根节点到每个叶节点路径上的节点数量。(显然每一次路径的终点都是一个叶节点 阅读全文
posted @ 2019-09-20 23:21 Ilverene 阅读(162) 评论(0) 推荐(0) 编辑