3094. Hash函数

Description
明明觉得hash是个好算法,代码短、效率高。某天,他碰到了一个求正方形个数的问题,于是很淡定地枚举对角线然后用hash判存在,妥妥的搞定,但是提交后却wa了几个点。仔细观察其hash函数为: h=x*y+x+y 。为了让明明知道这个函数存在什么问题,对于给出一个h值,请你来告诉他有多少对(x,y)满足上述式子(max(x,y)<=h;h,x,y都为非负整数)。

Input
多组测试数据,第一行为测试点的个数T,接下来每一行一个整数h,意义如上。

Output
一共T行,每行一个整数,分别表示有多少组(x,y)满足要其对应的h值。

Sample Input
3
1
3
4

Sample Output
2
3
2

Hint
【样例解释】
(1,0),(0,1)
(0,3),(1,1),(3,0)
(4,0),(0,4)

【数据范围】
对于30%数据 h<=20,000 , T<=1000
对于100%数据 h<=100,000,000 , T<=10000;

分析:这是一道比较简单的题目。
显然,对于 h=xy+x+y 这个式子可以变换成 h+1=(x+1)(y+1)。
令 s=h+1,a=x+1,b=y+1;
于是题目就变成了:对于式子 s=a*b 有多少组(a,b)满足要求。
因此只需求s的约数个数即可。

代码

#include <cstdio>
#include <cmath>
using namespace std;int T,h;int calc(int x)
{int s = 0;for (int i = 1; i <= sqrt(x); i++)if (x % i == 0)if (x / i == i) s += 1;else s += 2;return s;
}int main()
{scanf("%d", &T);while (T--){scanf("%d", &h);printf("%d\n", calc(h + 1));}
}

jzoj3094. Hash函数相关推荐

  1. Hash函数的安全性

    我们为了保证消息的完整性,引进了散列函数,那么散列函数会对安全正造成什么影响呢?这是需要好好研究一番的问题. 三个概念: 1.如果y<>x,且h(x)=h(y),则称为碰撞. 2.对于给定 ...

  2. Hash 函数资源链接汇总

    Hash 链接: [1]General Purpose Hash Function Algorithms:http://www.partow.net/programming/hashfunctions ...

  3. HashMap中的hash函数

    在写一个HashSet时候有个需求,是判断HashSet中是否已经存在对象,存在则取出,不存在则add添加.HashSet也是通过HashMap实现,只用了HashMap的key,value都存储一个 ...

  4. 文本去重之MinHash算法——就是多个hash函数对items计算特征值,然后取最小的计算相似度...

    来源:http://my.oschina.net/pathenon/blog/65210 1.概述 跟SimHash一样,MinHash也是LSH的一种,可以用来快速估算两个集合的相似度.MinHas ...

  5. Cuckoo hash算法分析——其根本思想和bloom filter一致 增加hash函数来解决碰撞 节省了空间但代价是查找次数增加...

    基本思想: cuckoo hash是一种解决hash冲突的方法,其目的是使用简单的hash 函数来提高hash table的利用率,同时保证O(1)的查询时间 基本思想是使用2个hash函数来处理碰撞 ...

  6. Hash函数及其应用

    本文部分内容摘自网络,参考资料链接会在文后给出,在此感谢原作者的分享. 计算理论中,没有Hash函数的说法,只有单向函数的说法.所谓的单向函数,是一个复杂的定义,大家可以去看计算理论或者密码学方面的数 ...

  7. 常见的一些 Hash 函数

    Hash的主要原理就是把大范围映射到小范围:所以,你输入的实际值的个数必须和小范围相当或者比它更小.不然冲突就会很多. 不同的应用对Hash函数有着不同的要求:比如,用于加密的Hash函数主要考虑它和 ...

  8. 认知理论与技术(hash函数,SHA,MD

    概述: 认证是个过程,通过这个过程一个实体向另一个实体证明某种声称的属性 认证参数: "口令"相当于平时登录系统时输入的密码. "密钥"相当于公钥密码体制中的私 ...

  9. 密码学基础知识(六)Hash函数与消息认证

    Hash函数和消息认证 先说Hash 哈希函数,可以将任意长度的消息压缩为某一固定长度的消息摘要函数.一句话,Hash简直了. 当然有逆天的一面就有大缺点,过程不可逆.傻了吧,哈哈. Hash的性质: ...

最新文章

  1. 《JAVA与模式》之命令模式
  2. pandas Series 的索引对象(一)
  3. canvas学习之API整理笔记(一)
  4. 25 PP配置-生产车间控制-工序-定义生产计划参数文件
  5. python学习笔记7--面向对象进阶,异常处理,socket编程初识
  6. 微mysql命令行_mysql命令大全
  7. 查看电脑boot mode方式
  8. Socket API: setsockopt(), recvmsg(), sendmsg()函数
  9. 【渝粤教育】国家开放大学2018年春季 7392-22DMatlab语言及其应用 参考试题
  10. Centos7虚拟机的镜像下载及创建
  11. 体验重构版的可道云Kodbox
  12. BioGRID:蛋白质相互作用数据库
  13. 一款压缩率达到五倍以上的免费gif压缩网站
  14. 【Unity2D】关卡编辑好帮手——TileMap
  15. DevOps—持续部署Ansible(二)
  16. 获取优酷网、土豆网、56网的视频缩略图
  17. Niushop单商户V4版强大的系统功能震撼来袭
  18. 如何快速成为谷歌web Store开发者(不用办visa/信用卡)
  19. kali 2019安装8812bu无线网卡驱动
  20. 第2章 基础设施即服务(IaaS)-2-Docker

热门文章

  1. Android:微信(一):集成、分享
  2. 这本读者期待的芯片书《手把手教你设计CPU——RISC-V处理器》终于出版!
  3. 数据库索引分裂 问题分析
  4. Spring Cloud: .yml属性文件配置 (完善中)
  5. 关于计算机缺少vcruntime140_1.dll的下载修复解决方案
  6. 怎么快速搜索linux的日志,如何快速查看Linux日志?
  7. win10 C盘突然少了许多空间解决办法
  8. 学无止境,我爱python
  9. KISSY基础篇乄KISSY之DOM(2)
  10. ImageNet数据集下载及整理