等式数量

Time Limit:1000MS     Memory Limit:32768KB     64bit 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<stdio.h>
#include<string.h>
#define N 50050
int s[N]={0},a[N],vis[N];
int hash(int x)
{int y=(x%N+N)%N;while(vis[y]&&s[y]!=x)y=(y+1)%N;return y;
}
int insert(int x)
{int y=hash(x);vis[y]=1;s[y]=x;
}
int find(int x)
{return vis[hash(x)];
}
int main()
{int n,i,j;while(~scanf("%d",&n)){memset(vis,0,sizeof(vis));for(i=0;i<n;i++){scanf("%d",&a[i]);insert(a[i]);}int sum=0;for(i=0;i<n;i++){for(j=i+1;j<n;j++){if(a[i]&&a[j]&&find(a[i]+a[j])==1)sum++;}}printf("%d\n",sum);}
}

等式数量--hash算法之除留余数法相关推荐

  1. nyoj-138-找球号(二)----hash算法之除留余数法+vector

    找球号(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:5 描述 在某一国度里流行着一种游戏.游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i<=1 ...

  2. 除留余数法构造哈希表_哈希表算法原理

    基本概念 哈希表(Hash Table)是一种根据关键字直接访问内存存储位置的数据结构.通过哈希表,数据元素的存放位置和数据元素的关键字之间建立起某种对应关系,建立这种对应关系的函数称为哈希函数. 哈 ...

  3. 【除留余数法定义hash函数+线性探测法解决hash冲突】数据结构实验之查找七:线性之哈希表

    Think: 1知识点:除留余数法定义hash函数+线性探测法解决hash冲突 数据结构实验之查找七:线性之哈希表 Time Limit: 1000MS Memory Limit: 65536KB P ...

  4. Hash(除留余数法+链地址法)

    //哈希函数:除留余数法 //处理冲突:链地址法 #include<stdio.h> #include<stdlib.h> #include<algorithm> ...

  5. 除留余数法构造哈希函数并用链地址法处理哈希冲突【C++实现】

    1.题目描述 哈希函数为H(key)=key%13,哈希冲突处理方法为:链地址法 c语言版数据结构上的例子 2.代码实现 首先建立一个哈希链表结点类HashNode,用于存放处理冲突时的关键字,其数据 ...

  6. 数据结构 散列表 除留余数法 线性探测法解决冲突

    已知9名学生的信息,每个学生信息包括编号和姓名.学生信息为11,王红,22,刘军,47,王亮,92,张强,16,吴迪,3,李伟,7,赵磊,29,钱鹤,8,孙芳.用散列表实现以编号为关键码的查找.散列函 ...

  7. 哈希函数 直接定址法 除留余数法

    直接定址法 直接定址法是以数据元素关键字k本身或它的线性函数作为它的哈希地址,即:H(k)=k  或 H(k)=a×k+b : (其中a,b为常数) 例1,有一个人口统计表,记录了从1岁到100岁的人 ...

  8. 使用散列表进行查找【查找关键词:电话号码,名称】【平方取中法,除留余数法】【开放地址探测法,公共溢出区法】【计算ASL】

    Library import pandas as pd import numpy as np import time 读取数据 df = pd.read_excel('重庆市印刷和记录媒介复制业754 ...

  9. (4)散列函数设计:除留余数法

    除留余数法介绍 除留余数法此方法为最常用的构造散列函数方法.对于散列表长为m的散列函数公式为: f( key ) = key mod p ( p ≤ m ) mod是取模(求余数)的意思.事实上,这方 ...

最新文章

  1. pom文件中引入常用的maven仓库
  2. 打造 AI Beings,和微信合作…第七代微软小冰的成长之路
  3. java 持续集成工具_Jenkins集成式项目控件下载
  4. ITK:计算矢量图像的梯度
  5. iOS之深入解析WKWebView的WebKit源码调试与分析
  6. java lwjgl3_java-LWJGL 3鼠标移动
  7. 16进制 hbase phoenix_HBase 和 Phoenix 的使用
  8. 移动端页面兼容性问题解决方案整理
  9. 自动驾驶 6-1: 横向车辆控制介绍 Lesson 1: Introduction to Lateral Vehicle Control
  10. creo数控编程怎么样_世界一流数控编程软件,你都有了解过么?
  11. dk 7 linux x64.rpm,linux x64 Java/JDK 11下载 jdk-11.0.7_linux-x64_bin.rpm官方镜像版
  12. 马哥Linux笔记整理
  13. 无线通信与编码_新型OFDM波形集_使用MATLAB仿真实现UFMC并与OFDM作对比_含实现代码
  14. Conditional ternary operator...
  15. 微信小程序在组件中刷新当前页面
  16. 基于redis实现的分布式时间序列存储Roshi
  17. iphone计算机照片大小,如何在iPhone上调整照片尺寸-缩小照片以缩小
  18. 企业为什么更青睐选择第三方短信平台?
  19. 小熊猫SEO外链发布工具
  20. OI生涯回忆录(Part2:至初二APIO结束)

热门文章

  1. SQL Server 2012 Managed Service Account
  2. 【python】 读取Excel文件并绘制图表
  3. 道路运输车辆卫星定位系统JT/T808服务实现和压测
  4. 2016全球数据新闻奖(DJA)颁布, 12个获奖作品全剖析
  5. oracle 用函数返回对象集合
  6. linux下使用extundelete恢复ext3/ext4分区数据
  7. MyBatis知多少(22)MyBatis删除操作
  8. jspServlet(2)
  9. mattermost
  10. english writing sample for professional