码迷,mamicode.com
首页 >  
搜索关键字:叶子    ( 2578个结果
Sum Root to Leaf Numbers
问题:根节点到叶子结点的所有权值和分析:从根节点遍历,若遍历到叶子结点,则sum+其路径的所有权值和/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * Tree...
分类:其他好文   时间:2014-08-06 21:59:32    阅读次数:184
Luck and Love (二维线段树)(树套树)
Luck and Love  Problem Description 世界上上最远的距离不是相隔天涯海角 而是我在你面前 可你却不知道我爱你                 ―― 张小娴 前段日子,枫冰叶子给Wiskey做了个征婚启事,聘礼达到500万哦,天哪,可是天文数字了啊,不知多少MM蜂拥而至,顿时万人空巷,连扫地的大妈都来凑热闹来了。―_―||| 由于人数太多,W...
分类:其他好文   时间:2014-08-06 19:26:52    阅读次数:300
二叉树(二)——遍历、深度统计、叶子结点统计、结点统计
1.二叉树的相关算法的实现(链表)。 #include #include #define NULL 0 typedef struct tree { int data; struct tree *left, *right; }ElemBT; void create_btree(ElemBT *root, int list[], int n) /*n表示list数组中元素的个数*/ {...
分类:其他好文   时间:2014-08-06 12:00:01    阅读次数:183
二叉树(一)——二叉树的基本实现(数组实现和链表实现)
1.树是一种数据结构,树的一些相关的术语: 结点的度:一个结点的后继结点的个数。 树的度:树中度值最大的结点的度被称为树的度。 树的深度:树的层次数。 分支结点:度值大于0的结点,分支结点至少含有一个后继,分支结点也称为非终端结点。 叶子结点:树中的度值为0的结点。 双亲结点:树中某个结点的前驱结点,也成为父节点。 子女结点:树中某结点的后继结点。 兄弟结点:树中同一层的结点。...
分类:其他好文   时间:2014-08-05 19:34:40    阅读次数:262
HDU 4760 Good FireWall 完善Trie题解
本题乍看像是线段树之类的区间操作,不过因为只是需要查找ip的前缀,故此其实是使用Trie来做。 这里的Trie使用到了Delete函数,这是个Trie函数中最难的函数了,当然要使用数组记录的方法水掉,也是可以的。这里不水,给出delete函数。 考点难点: 1 Trie的操作函数的灵活运用,主要难点是delete函数的灵活运用 2  在叶子节点所有的group id, 删除的时候要注意,不...
分类:其他好文   时间:2014-08-05 11:13:09    阅读次数:296
HDU 4902 Nice boat(线段树 区间更新)
Nice boat大意:给你一个区间,每次可以进行两种操作,1:把区间中的数全都变成x 2:把区间中大于x的数变成gcd(a[i], x),最后输出序列。思路:线段树成段更行,用num数组的叶子存储数据,节点当作lazy来使用。 1 #include 2 const int maxn = 1000....
分类:其他好文   时间:2014-08-04 23:55:48    阅读次数:292
POJ 2309 BST
1、min和max为奇数,否则min和max非叶子,还可以向下拓展 2、根据满二叉树的性质,x的左右子树的个数都为2的k次方减1个节点 3、根据二叉树搜索的性质,左子树编号的区间为[min,x-1],右子树的编号区间为[x+1,max] 由此得出min=x-(2^k-1),max=x+(2^k-1) lowbit的作用,计算x对应的二进制数中第一个1的位置k,返回权值2k。 这个函数的作用就是求出t这个数的二进制存储下,最高的非0bit所表示的大小。 即满足2^k<=t的最大的2^k,其中k为非负整数。...
分类:其他好文   时间:2014-08-04 21:45:28    阅读次数:294
HDU 1251 统计难题 Trie题解
基本上是标准的寻找前缀的问题,只需要insert和search函数就可以了。 我这里主要是修改一下n的记录方法,这里的n代表的不是叶子节点的标志,而是有多少单词经过了这条路径的标志。 然后是查找需要查找的前缀单词,如果没有找到,就返回0,表示没有单词以这个前缀单词为前缀,如果找到,直接返回n就是答案了。因为有n个单词经过了这条路径。 查找效率是常数。 使用静态分配空间的办法。 #...
分类:其他好文   时间:2014-08-04 21:40:28    阅读次数:239
HDU 4902 Nice boat(线段树 区间更新)
Nice boat 大意:给你一个区间,每次可以进行两种操作,1:把区间中的数全都变成x  2:把区间中大于x的数变成gcd(a[i], x),最后输出序列。 思路:线段树成段更行,用num数组的叶子存储数据,节点当作lazy来使用。 #include const int maxn = 100005; int num[maxn<<2]; int gc...
分类:其他好文   时间:2014-08-04 21:34:18    阅读次数:235
HDU 1075 What Are You Talking About Trie题解
翻译火星语,不过火星语也是使用英文单词的,就是把一个单词对应到另外一个单词。 可以使用map, 使用二分,方法很多。 不过最快的应该都是Trie解法了。 把火星语挂在Trie树中,然后在叶子节点增加一个string容器,装英语单词。 查找的时候,找到了出现在Trie中的火星语,就返回string就可以了。 #include #include #include using n...
分类:其他好文   时间:2014-08-04 11:02:47    阅读次数:234
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!