IAML's Blog

Find passion in coding

poj1840 Eqs

本题第一眼看上去可以回溯,而我也写了回溯,然后毫无悬念的tle……主要是状态数太多……

之后看discuss,发现居然要用hash做(只能怪自己水,没看出来(T_T))。个人感觉和判重差不多,就是先在hash里面存a1x1^3 + a2x2^3的值。之后再计算-(a3x3^3 + a4x4^3 + a5x5^3),看是否已经出现再hash表之中,如果出现,就表示a1x1^3 + a2x2^3 = -(a3x3^3 + a4x4^3 + a5x5^3),那当然就是指a1x1^3 + a2x2^3 + a3x3^3 + a4x4^3 + a5x5^3 = 0。这题用hash还要注意一个地方,就是可能出现不同的x1, x2的值得到同一个结果a1x1^3 + a2x2^3。所以要记录同一个关键字出现次数。

另外,这题还要考虑关键字重复之后的转移方法。

继续阅读