
hash
文章平均质量分 62
is_it_a_error
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj 2785
这也许是最简单的hash #include #include #include #include #include #include const int MOD = 1e7+9 ; using namespace std; const int maxn = 16000011 ; int hash[maxn],cnt[maxn]; int maze[4010][5]; void o原创 2015-11-09 21:11:50 · 283 阅读 · 0 评论 -
poj 1200
题意: 给你n,nc nc表示这个字符串由nc个不同字符组成 让你求长度为n的不同子串的个数 用hash,把字符串转化成十进制数,然后一个一个访问就行了(按照这个道理,MAP应该也是可以的,不过我没试,不知道) 然后我来说我这次犯的几个该打脸的错误 for(int i=0;i+n-1 for(int j=i;j tmp=tmp*cnt+num[str[j原创 2015-11-10 19:01:28 · 447 阅读 · 0 评论 -
poj 2503
这个题吧,我是水过去的,然而,一看有些想法真的不错 1MAP除了输入之外,没其他要注意的了#include #include #include #include #include #include #include #include #include #include #include #include #include #include #pragm原创 2015-11-10 09:19:24 · 250 阅读 · 0 评论 -
poj 3349
雪花 额,刚开始不知是怎么回事,数组开小了RE,开大了MLE 然后我换了个MOD,过了...... #include #include #include #include #include #include #define MOD 14997 using namespace std; const int maxn = 15000 + 20原创 2015-11-10 20:12:41 · 268 阅读 · 0 评论 -
poj 2002
给你一些点,求这些点中可以组成的正方形的个数 额,把点存起来,然后找的时候用Hash,依次枚举两个点(枚举任意两个点,其他两个点都可以确定,左边一个,右边一个)最后/4(每天边都枚举了4遍) 然后,就没有然后了 #include #include #include using namespace std; const int N = 1010; con转载 2015-11-11 13:45:11 · 241 阅读 · 0 评论 -
hdu 1755
恩,不算很难 #include #include #include #include #include #include using namespace std; const int maxn = 500000 ; int arr[15]; int cnt; int n; int num[maxn]; int getnum(){ int re=0; for(i原创 2015-11-11 15:48:56 · 284 阅读 · 0 评论 -
hdu 1496
之前做过一个类似的题 还是学得不好 #include #include #include using namespace std; const int M = 175447; int counts[M]; int result[M]; int temp[101]; int hashInt(int s) { int k = s % M; if (k < 0)转载 2015-11-12 18:18:34 · 408 阅读 · 0 评论