hash
BEconfidence
坚持才是胜利之道
展开
-
hash
#include int a[100000]; int Hashf(int x){ return x + 1; } int main() { int n; scanf("%d",&n); while(n--){ int x; scanf("%d",&x); int y = Hashf(x); a[y原创 2015-06-21 09:34:53 · 944 阅读 · 2 评论 -
HDU 1800 Flying to the Mars( map or hash )
题意:输入一堆数字 看一堆数中最少有多少个上升子串(不连续的子串) 1个数字 单独也算一个子串 思路: 每个串去掉一串最长的 再去掉一串次长的。。。。。 到最后肯定剩下某个出现次数最多的数字 所以本题就是找那个数字出现的最多 最多的次数是多少 肯定用map喽 #include #include using namespace std; int main() {原创 2015-06-14 22:54:29 · 574 阅读 · 0 评论 -
HDU1425:sort
hash原来做过 #include #include #include using namespace std; const int M = 1000001; #define MIN -99999999 bool hashh[M]; void init() { for(int i=0;i<M;i++) hashh[i]=false; } int main() { int n,原创 2015-06-14 22:47:12 · 719 阅读 · 0 评论 -
hdu 1496 Equations (hash)
解题报告: 题目意思很好理解,就是求有多少种方程的解的形式,输出来就可以了。 如果用4重循环的话,可能会超时,没有试过。。直接用hash一一对应就可以了。 2重循环把s = a*x1*x1+b*x2*x2 看做一个数组的下标,如果s > 0 ,hash1[s]++;若s 再2重循环把s = c*x3*x3+d*x4*x4 看做下标,开始查找。 #include #i原创 2015-06-14 23:06:54 · 574 阅读 · 0 评论 -
HDU1228:A + B
#include #include #include using namespace std; char num[10][10] = {"zero","one","two","three","four","five","six","seven","eight","nine"}; int search(char ch[]) { int i; for(i = 0;i<10;i原创 2015-06-14 23:10:04 · 533 阅读 · 0 评论