摘要:
链接http://poj.org/problem?id=2785继续上一篇的思路做的,结果。。。第一次MAXN=1000007超时第二次MAXN=10000007 Time 8063 Ms Memory 164760 K 险过,=.=!先附上代码,再寻求其他方法吧 1 #include<cstdio> 2 #include<cstring> 3 #define mem(a) memset(a,0,sizeof(a)) 4 #define MAXN 10000007 5 #define maxn 16000000 6 int hash[MAXN+5],next[maxn+ 阅读全文
摘要:
地址链接http://poj.org/problem?id=1840a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0等价于 a1x13+ a2x23+ a3x33=a4x43+ a5x33所以使用哈希储存前三项的值,而数组开到101^3=1030301就够了有几个需要注意的地方就是x不能等于0(应为这个我纠结了好久,所以看题啊啊~~);然后就是求解的个数,所以在用哈希存前三个数的和时,就不能完全(直接将其替代),那样将会丢掉一种解,所以我的方法就是直接在sum数组中存101^3个数,在搜索的时候一条哈希值相等的链就要搜到尾,找出共有多少个(其实也可以用个数组记录到目前为止 阅读全文