摘要:
大意:判断一个字符串是否由给定的一些字符中两个组成。思路:可以用hash,也可以用字典树+枚举,字典树似乎比较快。CODE:#include<iostream>#include<cstring>#include<cstdio>#include<cstdlib>usingnamespacestd;#defineMAXN120010charsave[120010][30];structTrie{Trie*next[26];intvalue;Trie(){for(inti=0;i<26;i++)next[i]=0;value=0;}};voidi 阅读全文
摘要:
/*哈希函数的构造方法其实和建立邻接表的方法非常类似*/#include<stdio.h>#include<string.h>#include<stdlib.h>charst[121000][30],temp[30];intfirst[10000019],next[121000];voidinit(){memset(first,-1,sizeof(first));}inthash(char*key)//ELHhash{ULh=0;while(*key){h=(h<<4)+*key++;ULg=h&0xf0000000L;if(g)h^=g 阅读全文
摘要:
我只会用二分枚举,即sum(1,mid-1) == sum(mid+1, n) -->2*pow(mid, 2) == n*(n+1); 然后去网上看了看其他人是用打表的方式过去的,今天第一次接触了暴力打表。共同进步啊。由于我不知道最大数是多少,于是我将n的范围开到了一亿,反正也只要前十组,如果少了就增加n的范围。打表CODE:#include<stdio.h>#include<string.h>intmain(){freopen("UVA138.cpp","w",stdout);longlonginti,j,x,mid,y 阅读全文