hashABC hash是一种用于处理查找时非常高效的数据结构。时间复杂度一般情况下可以直接认为是O(1)。 散列技术是在记录的存储位置和它的关键字之间确立一个对应关系 f,使得关键字 key对应的存储位置 f(key)…
标签:数据结构
PAT_1042 Path of Equal Weight
题目描述: 给定一棵根节点为R的加权树(每个节点Ti具有权重Wi)。从R到L的路径的权重被定义为沿着从R到任何叶节点L的路径的所有节点的权重之和。.现在给出任何加权树,你应该找到所有的路径他们的权重等于给定的数字。 输入…
BZOJ-3589: 动态树(DFS序+线段树)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3589 其实这题可以不用链剖的额,直接上DFS序就可以维护了。然后暴力容斥一下,对于路径的并就用几个LCA分类一下,…
二叉树递归遍历 - 先序 中序 后序
#include <stdio.h> #include <stdlib.h> typedef struct BTNode { char data; struct BTNode *left; str…
三元组计数
Google KickStart Round G Problem A 给定N个整数,计算其中(x,y,z)三元组的数目,xyz满足以下条件 1 <= x < y < z <= N Ax = Ay …
BZOJ-1996: [Hnoi2010]chorus 合唱队(区间DP)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1996 区间DP,注意len=2的处理不要重复即可。 代码: #include <cstdio> #in…
LeetCode 10 : 正则表达式匹配
题目描述 Given an input string (s) and a pattern (p), implement regular expression matching with support for ̵…
蓄水池算法
今天在网上看题目时,发现一个十分有趣的算法,叫蓄水池算法(Reservoir Sampling),牵扯到一点概率论问题。 题目:给出一个数据流,这个数据流的长度很大或者未知。并且对该数据流中数据只能访问一次。请写出一个随…
背包、栈和队列
介绍 背包是一种不支持从中删除元素的集合类型,它的目的是帮助用例收集元素并迭代遍历所有收集到的元素,迭代的顺序不确定且与用例无关。 下压栈是一种基于后进先出(LIFO)策略的集合类型。当遍历下压栈中的元素时,从最后压入的…
一些字符串哈希算法
见代码: unsigned int hash_BPHash(unsigned char *str){ unsigned int hash = 0; while(*str){ hash = (hash << 7…
mysql索引,mysql(建表)优化,sql语句优化
1、索引。 大概理解:索引,对应的是表中的某一个字段,主键id是默认建立了索引。 索引大概单独位于一张表,建立索引需要花费时间,测过是N秒钟。 索引是一种数据结构(我理解数据结构是数据与数据之间的关系,而算法是依据不同的…
数据结构-树
树:是n(n>=0)个节点的有限集,n=0时称为空树。在任何一棵非空树中:1 有且仅有一个特定的称为根(root)的节点; 2 n>1时,其余节点可分为m(m>0)个互不相交的优先集,其中每一个集合又是…