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

Data Constraint

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+1=(x+1)(y+1)

那就求h+1的因子个数即可

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int h,t;int main() {scanf("%d",&t);while (t--) {scanf("%d",&h);h++;int ans=0,st=sqrt(h);for (int i=1;i<=st;i++)ans+=h%i==0?(i*i==h?1:2):0;printf("%d\n",ans);}
}

View Code

转载于:https://www.cnblogs.com/mastervan/p/9867328.html

[瞎搞]JZOJ 3096 Hash函数相关推荐

  1. Hash函数经典用法

    撰写这篇文章之前,先谈下个人对程序员编程素养的理解: 程序员除了数据结构与算法,什么也不属于自己---记得哪个NB人物曾经说过这样的话.的确,程序员水平高低如何,很大程度上取决于基本功是否扎实.高级程 ...

  2. jzoj3094. Hash函数

    3094. Hash函数 Description 明明觉得hash是个好算法,代码短.效率高.某天,他碰到了一个求正方形个数的问题,于是很淡定地枚举对角线然后用hash判存在,妥妥的搞定,但是提交后却 ...

  3. ubuntu--基础环境瞎搞集合

    安装ubuntu系统后有很多东西需要自己瞎搞一下,这里把一些瞎搞的过程记录在这里,方便以后重新装系统后重新配置. 一.安装. 可以在windows下制作启动盘(软碟通),然后开机u盘启动即可安装,预留 ...

  4. 瞎搞系列-超分辨率进程

    原作者连接:https://zhuanlan.zhihu.com/p/31664818 有代码 瞎搞系列-超分辨率进程 超分辨率是指从观测到的低分辨率图像重建出相应的高分辨率图像,在监控设备.卫星图像 ...

  5. Hash函数的安全性

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

  6. Hash 函数资源链接汇总

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

  7. HashMap中的hash函数

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

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

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

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

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

最新文章

  1. Flask-SQLAlchemy安装及设置
  2. 面试题及相关参考答案
  3. GitHub 上有什么好玩的项目?(附地址)
  4. 用边缘计算为智能制造提速,行业的破局者是他们
  5. Python sys 模块
  6. Python | numpy | np.split()与np.array_split()函数
  7. JDK的bin目录下各种工具的使用说明_对不起自己,这么久没写博,抱歉
  8. JDBC事务--软件开发三层架构--ThreadLocal
  9. 快餐文化短视频源码行业竞争激烈,短视频发展任重道远
  10. cx_Oracle模块
  11. java几次,java兑现限制用户几次登录
  12. 妙招教你Office Word 2007文档另存为PDF文件[转]
  13. JAVA计算机毕业设计大学生旅游拼团网站Mybatis+源码+数据库+lw文档+系统+调试部署
  14. CSS揭秘读书笔记-第一章 引言
  15. ASEMI肖特基二极管MBR10200CT参数,MBR10200CT封装
  16. TypeError: Student() takes no arguments
  17. cocos恭喜喜庆粒子特效
  18. 什么样的恐怖才是真恐怖?由最近所看的一部电影以及最喜欢的游戏系列想到的。
  19. 自己写USB Joystick驱动
  20. 吞噬星空鸿蒙殿主,论《吞噬星空》是鸿蒙三部曲的最后一部!

热门文章

  1. 多线程和socket练习
  2. bzoj 3930: [CQOI2015]选数
  3. HDU - 2122 Ice_cream’s world III
  4. CentOS7.2安装jdk7u80
  5. 浏览器保存密码后文本框出现黄色背景的解决方案
  6. iOS UIWebView 之 UIProgressView
  7. string 类的常用方法 substring indexof length
  8. 【Scala】使用Scala程序实现WordCount--词频统计(代码)
  9. maven详解scope
  10. python一次性输入多个数_python如何一次性输入多个数