等式數量 hash演算法之除留餘數法

2021-06-16 21:18:53 字數 972 閱讀 3333

等式數量

time limit:1000msmemory limit:32768kb64bit io format:%i64d & %i64u

submit

status

practice

fzu 1707

description

集合是基本的數學概念,它是集合論的研究物件。關於集合論最簡單的說法,是在最原始的集合論《樸素集合論》中的定義:集合就是「一堆東西」。集合裡的「東西」,叫作元素。若x是集合a中的元素,記作 x∈a。集合中的元素是互不相同的。 

表示相等關係的式子叫做等式。 

給你乙個包含有n個整數的集合,如果從集合中找到三個不同的整數a,b,c使得a+b=c,那麼我們說這個集合包含乙個等式。 

你的任務是從集合中找出所有的等式數量。 

input

每組輸入資料的第一行為乙個整數n (3<=n<=5,000),表示集合中一共有n個不同的整數。之後一行有n個整數,表示集合中的元素,元素的整數值大小為(-10,000,000~10,000,000)。

output

對於每組資料輸出乙個整數佔一行,表示該集合的等式數量。

sample input

4

3 1 2 5

sample output

2#include#include#define n 50050

int s[n]=,a[n],vis[n];

int hash(int x)

int insert(int x)

int find(int x)

int main()

{ int n,i,j;

while(~scanf("%d",&n))

{memset(vis,0,sizeof(vis));

for(i=0;i

《演算法導論》之hash表

hash表原理不難,難在如何選擇表的大小以及hash函式,這個涉及到很多數學的東西,這裡就先不詳述了,而是先整理下基本概念和一些結論。hash就是通過函式,將大範圍的key值對映到小範圍的hash表中,相比起直接對映來說更加節省空間。而這種方法的乙個問題就是會出現 碰撞 即有多個值會對映到同乙個 項...

演算法之個人總結 Hash表之簡單應用

http chelu01.blog.163.com blog static 9417780520102512312223 本人感覺相當不錯的hash 前段時間看了個微軟編寫的c庫函式,在這個庫函式裡學到乙個自我感覺相當牛比的小演算法,說白了是hash表的應用。大家都知道,hash表最主要是用來實 現...

演算法 Two sum之hash表解決方法

這麼著名的題目都沒見過,演算法小白要努力了!two sum即給出一組數,找出其中兩個之和為某一特定值的索引。python def findtwosum inputlist,sumoftwo aimdic dict result 1,1 for num in inputlist if num in a...