摘要:对于循环的字符串或者数组(可比较),都存在最小表示法。比如 "abcd" 和 "bcda", "cdab", "dabc" 同构。但是字典序最小的一个是 "abcd",也就是所谓的最小表示法。关于最小表示法的应用, 例如给出两个字符串,问他们是不是同构。那么就可以通过分别将两个字符串转换成最小表示法...
阅读全文
摘要:问题:求1到n这n个整数间的异或值,即1 xor 2 xor 3 ... xor n记f(x, y)为x到y的所有整数的异或值。对f(2^k, 2^(k+1) -1) (注意文章中的^表示的是“幂”,xor表示“异或”,or表示“或”):2^k到2^(k+1) -1这2^k个数,最高位(+k位)的1...
阅读全文
摘要:字符串hash最高效的算法, 搜了一下, 原理是:字符串的字符集只有128个字符,所以把一个字符串当成128或更高进制的数字来看,当然是唯一的这里unsigned不需要考虑溢出的问题, 不过周神说:碰撞率很小是因为n阶多项式最多n个根. 也是有道理的.最后 hash & 0x7FFFFFFF 只是为...
阅读全文
摘要:基本概念所谓完美哈希函数,就是指没有冲突的哈希函数,即对任意的 key1 != key2 有h(key1) != h(key2)。设定义域为X,值域为Y, n=|X|,m=|Y|,那么肯定有m>=n,如果对于不同的key1,key2属于X,有h(key1)!=h(key2),那么称h为完美哈希函数,...
阅读全文
摘要:问题起源于一个宣讲会时间安排问题,有若干个部门要进行宣讲会,有若干个同学对多个部门有兴趣,希望在给出一个时间方案,要求所有的同学都可以参加所有他感兴趣的宣讲会,同时要求在最短的时间内把宣讲会结束。把每个宣讲会作为一个点,每个同学感兴趣的宣讲会两两相连,就变成了一个图的最少着色问题。图的m-着色判定问...
阅读全文
摘要:反素数问题描述:对于任何正整数x,起约数的个数记做g(x).例如g(1)=1,g(6)=4.定义:如果某个正整数x满足:对于任意i(0求约数最多的数如果求约数的个数 756=2^2*3^3*7^1(2+1)*(3+1)*(1+1)=24基于上述结论,给出算法:按照质因数大小递增顺序搜索每一个质因子,...
阅读全文
摘要:对无向图:定义:给定无孤立结点图G,若存在一条路,经过图中每条边一次且仅仅一次,该条路称欧拉路,若存在一条回路,经过图中每边一次且仅仅一次,该回路称为欧拉回路。具有欧拉回路的图称为欧拉图,不是柏拉图。定理:无向图G具有一条欧拉路,当且仅当G是连通的,且有0个或者是两个奇数度得结点。推论:无向图G具有...
阅读全文