hdu 5183 预处理 哈希

来源:互联网 发布:linux网卡配置文件详解 编辑:程序博客网 时间:2024/06/13 05:35
hdu 5183 预处理 哈希
题意:
给定一个数组(a[0],a[1],a[2],a[n-1])和一个整数K,请来判断一下是否存在二元组(i,j)(0 <= i <= j < n)使得 NP-sum(i,j) 刚好为K。这里NP-sum(i,j)=a[i]-a[i+1]+a[i+2]+...+(-1)^(j-i)a[j]。
限制:
1 <= n <= 1e6; -1e9 <= a[i] <= 1e9; -1e9 <= K <= 1e9
思路:
先从前到后求sum[i],然后从后往前扫,每到一个sum[i],判断sum[i]+k是否在后面的sum[j](j>i)出现过,如果出现过则yes,否则把sum[i]插入hash表中用于后续的查询。


0 0