HDOJ 1496: Equations 这道题也哈希。。。
来源:互联网 发布:新疆人口增长表格数据 编辑:程序博客网 时间:2024/05/24 20:06
这道题是求四元二次方程的给定范围内的整数解的个数。
最初是想暴利枚举x1, x2, x3, 的值,但是害怕超时,因为这样 的话要循环1000000次。网上搜了一下其他人的代码,居然可以用哈希求解。于是豁然开朗了。
注意剪去abcd同号的情况,不然会超时。
#include<iostream>#include<string.h>#include<stdio.h>using namespace std;const int Max = 1000000;int myHash[Max*2+10];int main(){int a, b, c, d, cnt;while(scanf("%d%d%d%d", &a, &b, &c, &d) != EOF){//a,b,c,d同号时必然无解,没有剪去这个条件,就会超时。。。。 if((a > 0 && b > 0 && c > 0 && d > 0) || (a < 0 && b < 0 && c < 0 && d < 0) ){printf("0\n", cnt);continue;}memset(myHash, 0, sizeof(myHash));cnt = 0;for(int x1=1; x1<=100; x1++)for(int x2=1; x2<=100; x2++){myHash[Max + a*x1*x1 + b*x2*x2] ++;}for(int x3=1; x3<=100; x3++)for(int x4=1; x4<=100; x4++){cnt += myHash[Max - c*x3*x3 - d*x4*x4];}cnt *= 16;printf("%d\n", cnt);}system("pause");return 0;}
- HDOJ 1496: Equations 这道题也哈希。。。
- hdoj 1496 Equations (HASH)
- hdoj 1496 Equations
- HDOJ 1496 - Equations Hash
- HDOJ 1496 Equations hash
- hdoj-1496-Equations
- HDOJ Equations
- HDOJ 题目1496 Equations(hash)
- hdoj 1840 Equations
- 1496:Equations
- HDOJ 题目1840 Equations(水,数学)
- hdoj.1840 Equations【水题】 2015/03/27
- hdu 1496 -- Equations(哈希)
- POJ 1496 EQUATIONS
- HDU 1496 Equations (hash)
- HDU 1496 Equations
- HDU 1496 Equations
- hdu 1496 Equations 数论
- 评估了Emacs下支持intellisense的几个方案
- xmlrpc for php 遇到的问题及解决方法
- C/C++编译详解
- 第一个JAVA程序
- 欧几里得与其拓展算法
- HDOJ 1496: Equations 这道题也哈希。。。
- xml相关概念及java读取配置文件
- IOCP
- use_hash
- 创建新的动态链接库 (DLL) 项目
- I2C系统
- 在SQLServer里面判断各种存在的条件
- ZOJ1117 POJ1521 HDU1053 Entropy,哈夫曼编码问题
- Oracle快照原理及实现总结