随笔分类 -  Hash

Hash
摘要:转自:http://www.cnblogs.com/qianxun/archive/2011/07/03/2096773.html1.Hash介绍 Hash这个在实现某些功能的经常会用到的数据结构,在java和c++ 里面都有相应的封装好的数据结构:C++ STL Map java 有HashMap TreeMap。计算理论中,没有Hash函数的说法,只有单向函数的说法。所谓的单向函数,是一个复杂的定义,大家可以去看计算理论或者密码学方面的数据。用“人 类”的语言描述单向函数就是:如果某个函数在给定输入的时候,很容易计算出其结果来;而当给定结果的时候,很难计算出输入来,这就是单项函数。各种加密 阅读全文

posted @ 2011-08-24 19:50 lonelycatcher 阅读(2332) 评论(0) 推荐(0)

HDU 2522 1/n Hash
摘要:哎~~简直是坑爹的setbuf(stdout,NULL),不理解这个函数的机理,结果为杭电贡献了N次的time limit exceed,其实这道题目还是非常简单的,了解了除法的机制以后,就很好做了,注意余数相同时,循环节开始View Code 1 /* 2 * Author:lonelycatcher 3 * problem:hdu 2522 4 * Type:Hash 5 */ 6 #include <iostream> 7 #include<stdio.h> 8 #include<string.h> 9 #include<cstdlib>1 阅读全文

posted @ 2011-08-23 21:10 lonelycatcher 阅读(406) 评论(0) 推荐(0)

HDU 1800 Hash
摘要:这道题简化一些就是求输入相等的字符串的最大值,即最多有多少字符串相等,用map做的话相当简单,但是会超时,可能是用cin的原因,这里将字符串Hash到一个整数,然后就很简单了,注意这里有些地方需要注意的,即字符串前导零的处理!!View Code 1 /* 2 * Author:lonelycatcher 3 * problem:hdu 1800 4 * Type:字符串的Hash 5 */ 6 #include <iostream> 7 #include<limits.h> 8 #include<string.h> 9 #include<string 阅读全文

posted @ 2011-08-23 18:43 lonelycatcher 阅读(804) 评论(0) 推荐(1)

HDU 1496 equation 非常好的Hash
摘要:这道题目如果用一个四重循环的话应该会超时,可以将方程转换为一个等式,a*x1*x1+b*x2*x2=-(c*x3*x3+d*x4*x4);但是如何寻找适当x1,x2,x3,x4是这个等式成立呢,用Hash是一个不错的选择,将a*x1*x1+b*x2*x2映射到一个很大的数组(经过计算1000000即可),然后再对二重循环c*x3*x3+d*x4*x4的结果与相对应的Hash值相比较即可View Code 1 /* 2 * Author:lonelycatcher 3 * problem:hdu 1496 4 * Type:Hash 5 */ 6 #include <iostream> 阅读全文

posted @ 2011-08-23 11:43 lonelycatcher 阅读(410) 评论(0) 推荐(0)

POJ 1635 树的最小表示 Hash
摘要:树的同构问题,至今不知道什么叫做树的最小表示,参考了别人的代码:仅供自己参考。。Source CodeProblem:1635User:sunyanfeiMemory:748KTime:16MSLanguage:G++Result:AcceptedSource Code/* * problem:poj 1635 * Type:最小表示 */#include<iostream>#include<stdio.h>#include<string>#include<string.h>#include<algorithm>using names 阅读全文

posted @ 2011-08-17 22:40 lonelycatcher 阅读(823) 评论(0) 推荐(0)

poj 1200 crazy search Hash
摘要:Problem:1200User:sunyanfeiMemory:30904KTime:63MSLanguage:G++Result:AcceptedSource Code/* * Author:lonelycatcher * Problem:poj 1200 crazy search * Type:Hash */#include <iostream>#include<string>#include<string.h>#include<stdio.h>using namespace std;char str[1000000];int hash[1 阅读全文

posted @ 2011-08-16 16:08 lonelycatcher 阅读(255) 评论(0) 推荐(0)

导航