Hust oj 1013 Eqs(哈希)
来源:互联网 发布:马云内部讲话知乎 编辑:程序博客网 时间:2024/06/07 20:08
EqsTime Limit: 5000 MSMemory Limit: 65536 KTotal Submit: 568(229 users)Total Accepted: 332(213 users)Rating: Special Judge: NoDescription
Consider equations having the following form:
a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0
The coefficients are given integers from the interval [-50,50].
It is consider a solution a system (x1, x2, x3, x4, x5) that verifies the equation, xi∈[-50,50], xi != 0, any i∈{1,2,3,4,5}.
Determine how many solutions satisfy the given equation.
Inputa1x13+ a2x23+ a3x33+ a4x43+ a5x53=0
The coefficients are given integers from the interval [-50,50].
It is consider a solution a system (x1, x2, x3, x4, x5) that verifies the equation, xi∈[-50,50], xi != 0, any i∈{1,2,3,4,5}.
Determine how many solutions satisfy the given equation.
For each test case :
Line 1: Five coefficients a1, a2, a3, a4, a5, separated by blanks.
Process to the end of file.
OutputFor each test case :
Line 1: A single integer that is the number of the solutions for the given equation.(The output will fit in 32 bit signed integers.)
Sample Input37 29 41 43 47
Sample Output654
给你五个数a1,a2,a3,a4,a5,让你求出满足a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0 的解有多少个,xi的范围是-50到50,这题拿来一看就不可能是暴力,但我们可以把式子拆开,分别求a1x13+ a2x23和 a3x33+ a4x43+ a5x53,这样复杂度就从O^5变成了O^3+O^2,两次的值用hash表存一下就好
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int maxn = 25000005;char Hash[maxn];int main(){ int a1,a2,a3,a4,a5; while(~scanf("%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5)) { memset(Hash,0,sizeof(Hash)); int i,j,k,sum; for(i=-50;i<=50;i++) { if(i != 0) { for(j=-50;j<=50;j++) if(j != 0){ sum =i*i*i*a1 + j*j*j*a2; if(sum < 0) sum += 25000000; Hash[sum]++; } } } int ans = 0; for(i=-50;i<=50;i++) if(i != 0) for(j=-50;j<=50;j++) if(j != 0) for(k=-50;k<=50;k++ ) if(k != 0) { sum = i*i*i*a3 + j*j*j*a4 + k*k*k*a5; if(sum < 0) sum += 25000000; if(Hash[sum] != 0) ans += Hash[sum]; } printf("%d\n",ans); } return 0;}
0 0
- Hust oj 1013 Eqs(哈希)
- 哈理工OJ—1013 Eqs(数学怪题)
- Hust oj 2084(大数)
- Hust oj 2038 联系网络(MST)
- Hust oj 2234 土豪银行(贪心)
- Hust oj 1143 泉水(dfs)
- Hust oj 2113 Count(Map)
- Hust oj 1305 多边形(数学)
- Hust oj 1677 一个函数(栈)
- Hust oj 1039 修路(二分)
- Hust oj 1369 Buy Computers(水题)
- Hust oj 2121 你猜猜(水题)
- Hust oj 2005 排列问题(STL)
- Hust oj 1559 线段相交(叉积)
- Hust oj 2106 Genuine Messages(字符串)
- Hust oj 2235 毒(水题)
- Hust oj 1177 Time Transform(字符串)
- Hust oj 1708 许可证(dfs)
- bash 读取行
- 动态规划1005
- linux
- 二流大学二流学生毕业两年的迷惘
- 安装完ubuntu后没有无线网络解决办法
- Hust oj 1013 Eqs(哈希)
- MYSQLI多条语句
- 十秒钟搞定RecyclerView数据绑定
- android activity返回键被dialog屏蔽
- NIM(1) 一排石头的游戏
- vertica-copy数据报网络错误
- window10下使用virtualbox+vagrant安装虚拟机
- [转]给SSD(固态硬盘)编程
- The Balance hdoj 1709 (母函数初学)