等式數量
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
43 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...