题意:一棵 n 个结点的树,树边有权值w(0
题目链接:http://poj.org/problem?id=3764
——>>取0为根,预处理出所有结点到根的异或xOr[i]。那么结点 a 与结点 b 之间的路径异或就是xOr[a] ^ xOr[b]。。
权值 w 最多31位,于是,将每个xOr的二进制表示从高位到低位插入到 01 Trie中(0为0,非0为1)。。
查询时从高位开始贪心...
分类:
其他好文 时间:
2014-11-22 10:40:33
阅读次数:
230
题意: 给一个字符串,表示一颗树,要求你把它整理出来,节点从1开始编号,还要输出树边。解法: 模拟即可。因为由括号,所以可以递归地求,用map存对应关系,np存ind->name的映射,每进入一层括号,使father = now, 遇到右括号')',则father = fa[father],用vec...
分类:
其他好文 时间:
2014-11-16 01:48:42
阅读次数:
222
题目大意:给定一棵树,边上有边权,提供一堆乱七八糟的操作(0.0),多次询问两点之间边权最大值
将每条边的边权放在边下面的点上,然后按照点权处理就行了。注意两个点的LCA的点权不能被算进路径中去
尼玛UBUNTU奇葩系统……我不写返回值居然直接把re给我返回回去了 然后咋拍都过…… 交上去就WA…… 我跪了
再也不敢不写-Wall了……
#include
#include
#include...
分类:
其他好文 时间:
2014-11-07 17:10:20
阅读次数:
155
恩,归类上来讲的话。。。是一道非常好的noip题。。。只不过嘛、、、(此处省略100字)然后将如何做:首先Kruskal求出最小生成树。我们其实可以发现严格的次小生成树不可能在MST上改两条边 只能改一条边。那么如何改呢?每次在MST中加入一条非树边,即不在MST的边,那么会形成一个环,只要找到换....
分类:
其他好文 时间:
2014-10-31 23:25:51
阅读次数:
350
Trie树,也叫字典树、前缀树。可用于”predictive text”和”autocompletion”,亦可用于统计词频(边插入Trie树边更新或添加词频)。
在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串...
分类:
编程语言 时间:
2014-10-28 13:54:45
阅读次数:
366
Trie树,也叫字典树、前缀树。可用于”predictive text”和”autocompletion”,亦可用于统计词频(边插入Trie树边更新或添加词频)。在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点...
分类:
其他好文 时间:
2014-10-28 13:51:40
阅读次数:
546
HDU 4005 The war
题目链接
题意:给一个连通的无向图,每条边有一个炸掉的代价,现在要建一条边(你不不知道的),然后你要求一个你需要的最少代价,保证不管他建在哪,你都能炸掉使得图不连通
思路:炸肯定要炸桥,所以先双连通缩点,得到一棵树,树边是要炸的,那么找一个最小值的边,从该边的两点出发,走的路径中,把两条包含最小值的路径,的两点连边,形成一个环,这个环就保证了最低...
分类:
其他好文 时间:
2014-10-23 22:49:48
阅读次数:
238
题目链接
题意:给你一个连通图,然后再给你n个询问,每个询问给一个点u,v表示加上u,v之后又多少个桥。
思路:用Tarjan缩点后,形成一棵树,所以树边都是桥了。然后加入边以后,查询LCA,LCA上的桥都减掉。
代码:
#include
#include
#include
#include
#include
#include
using namesp...
分类:
Web程序 时间:
2014-10-22 12:53:23
阅读次数:
213
第一题:题目大意:用邻接矩阵给出一棵树(边权非负)上N个节点相互之间的最短路距离,求这棵树所有边权的和。解题过程:1.暂时还没想出来,待AC。第二题:题目大意:给出一些单词,然后建立Trie树,然后求出Trie树的节点个数。解题过程:1.这题学过Trie树的就直接无脑的建树就可以了。。2.另外一种解...
分类:
其他好文 时间:
2014-10-18 13:59:57
阅读次数:
162
题意:基环树最大独立集
思路:
像这种题就是朴素的树形dp非常容易的,我们用一些技巧转化为变体树。
直接套用仙人掌的动态规划做法:(基环树事实上也属于一种仙人掌)
首先利用tarjan算法,如果遇到自己与儿子之间的边为割边则按照树边处理。
Tarjan后看一下与自己相连的边,如果某个相邻点不是自己的儿子,并且入栈序比自己大,那么说明自己是环上的的最高点,此时我们对环上特别的进行d...
分类:
其他好文 时间:
2014-10-17 11:57:30
阅读次数:
371