[瞎搞]JZOJ 3096 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
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的因子个数即可
![](/assets/blank.gif)
![](/assets/blank.gif)
#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函数相关推荐
- Hash函数经典用法
撰写这篇文章之前,先谈下个人对程序员编程素养的理解: 程序员除了数据结构与算法,什么也不属于自己---记得哪个NB人物曾经说过这样的话.的确,程序员水平高低如何,很大程度上取决于基本功是否扎实.高级程 ...
- jzoj3094. Hash函数
3094. Hash函数 Description 明明觉得hash是个好算法,代码短.效率高.某天,他碰到了一个求正方形个数的问题,于是很淡定地枚举对角线然后用hash判存在,妥妥的搞定,但是提交后却 ...
- ubuntu--基础环境瞎搞集合
安装ubuntu系统后有很多东西需要自己瞎搞一下,这里把一些瞎搞的过程记录在这里,方便以后重新装系统后重新配置. 一.安装. 可以在windows下制作启动盘(软碟通),然后开机u盘启动即可安装,预留 ...
- 瞎搞系列-超分辨率进程
原作者连接:https://zhuanlan.zhihu.com/p/31664818 有代码 瞎搞系列-超分辨率进程 超分辨率是指从观测到的低分辨率图像重建出相应的高分辨率图像,在监控设备.卫星图像 ...
- Hash函数的安全性
我们为了保证消息的完整性,引进了散列函数,那么散列函数会对安全正造成什么影响呢?这是需要好好研究一番的问题. 三个概念: 1.如果y<>x,且h(x)=h(y),则称为碰撞. 2.对于给定 ...
- Hash 函数资源链接汇总
Hash 链接: [1]General Purpose Hash Function Algorithms:http://www.partow.net/programming/hashfunctions ...
- HashMap中的hash函数
在写一个HashSet时候有个需求,是判断HashSet中是否已经存在对象,存在则取出,不存在则add添加.HashSet也是通过HashMap实现,只用了HashMap的key,value都存储一个 ...
- 文本去重之MinHash算法——就是多个hash函数对items计算特征值,然后取最小的计算相似度...
来源:http://my.oschina.net/pathenon/blog/65210 1.概述 跟SimHash一样,MinHash也是LSH的一种,可以用来快速估算两个集合的相似度.MinHas ...
- Cuckoo hash算法分析——其根本思想和bloom filter一致 增加hash函数来解决碰撞 节省了空间但代价是查找次数增加...
基本思想: cuckoo hash是一种解决hash冲突的方法,其目的是使用简单的hash 函数来提高hash table的利用率,同时保证O(1)的查询时间 基本思想是使用2个hash函数来处理碰撞 ...
最新文章
- Flask-SQLAlchemy安装及设置
- 面试题及相关参考答案
- GitHub 上有什么好玩的项目?(附地址)
- 用边缘计算为智能制造提速,行业的破局者是他们
- Python sys 模块
- Python | numpy | np.split()与np.array_split()函数
- JDK的bin目录下各种工具的使用说明_对不起自己,这么久没写博,抱歉
- JDBC事务--软件开发三层架构--ThreadLocal
- 快餐文化短视频源码行业竞争激烈,短视频发展任重道远
- cx_Oracle模块
- java几次,java兑现限制用户几次登录
- 妙招教你Office Word 2007文档另存为PDF文件[转]
- JAVA计算机毕业设计大学生旅游拼团网站Mybatis+源码+数据库+lw文档+系统+调试部署
- CSS揭秘读书笔记-第一章 引言
- ASEMI肖特基二极管MBR10200CT参数,MBR10200CT封装
- TypeError: Student() takes no arguments
- cocos恭喜喜庆粒子特效
- 什么样的恐怖才是真恐怖?由最近所看的一部电影以及最喜欢的游戏系列想到的。
- 自己写USB Joystick驱动
- 吞噬星空鸿蒙殿主,论《吞噬星空》是鸿蒙三部曲的最后一部!
热门文章
- 多线程和socket练习
- bzoj 3930: [CQOI2015]选数
- HDU - 2122 Ice_cream’s world III
- CentOS7.2安装jdk7u80
- 浏览器保存密码后文本框出现黄色背景的解决方案
- iOS UIWebView 之 UIProgressView
- string 类的常用方法 substring indexof length
- 【Scala】使用Scala程序实现WordCount--词频统计(代码)
- maven详解scope
- python一次性输入多个数_python如何一次性输入多个数