
哈希
怎呼虹
你只负责精彩,命运自有安排。
展开
-
HDU 1496 Equations 经典哈希
题意:给出表达式 a*x1^2+b*x2^2+c*x3^2+d*x4^2=0,以及a,b,c,d四个数字的输入,要求计算对应的使表达式成立的x的解数有多少组。注意:a,b,c,d∈[-50,80] x1,x2,x3,x4∈[-100,100] 我们不难得出,哈希数组的MAX上界 : 50X100X100X2 = 1000000 于是开一个 > 1000000 长度的hash数组要点:(1)这题原创 2016-08-09 22:12:05 · 418 阅读 · 0 评论 -
HDU 1280 前M大的数 哈希 桶排序
传送门:HDU 1280 前M大的数 分析: 哈希数组大小注意。因为所有的整数都不超过5000, 所以最大的和也不超过10000, 数组开10001即可!#include <stdio.h> #include <string.h> int main() { int hash[10001],arr[3001]; int N,M,i,j,cnt,flag; while(scan原创 2016-12-29 12:48:18 · 759 阅读 · 0 评论 -
HDU 2600 War 哈希
传送门:HDU 2600 War注意:不能开int数组做hash,爆内存。要用bool 或是 char类型。代码如下;#include <stdio.h> #include <string.h> bool hash[12000005]; // 开 int 内存超限 bool 和 char 都只占1个字节 int 开 12000000的数组大小会到48MB int main() { in原创 2016-12-30 11:01:00 · 475 阅读 · 0 评论 -
HDU 1496 Equations 哈希
传送门:HDU 1496 Equations 分析: 打表平方数,分正负两组分别哈希。代码如下:#include <stdio.h> #include <string.h> const int MAXN = 50*100*100*2 + 5; int hash_pos[MAXN]; int hash_neg[MAXN]; int pf[101]; int main() { int a,b,原创 2016-12-31 11:12:44 · 371 阅读 · 0 评论