题目链接:http://acm.swust.edu.cn/problem/0166/

Time limit(ms): 5000      Memory limit(kb): 65535
 

有如下方程组: A1*x1^3+A2*x2^3+A3*x3^3+A4*x4^3+A5*x5^3=0,其中A1…A5都在[-50,50]内。 如果(x1,x2,x3,x4,x5)(其中-50<=xi<=50,xi!=0)能让该等式成立,就说(x1,x2,x3,x4,x5)为其一组解,现在的问题是要问你该等式共有多少组解。

Description

输入包括5个系数 A1,A2,A3,A4,A5

注意:这里是多组输入哈,太坑爹了!

Input

输出该方程解的数目

Output
1
23 45 36 13 57
Sample Input
1
1436
 
 
解题思路:明显的hash,但是想了想,这里的系数[-50,50],x范围[-50,50],
     那么求得的解的变换范围为[-12500000,12500000]数组大小25000000(内存直接爆了)
     表示智商捉急~~然后晓得了还有short 这个东东(http://bbs.csdn.net/topics/370037447
     然后卡到内存ac了
代码如下:
 #include <stdio.h>
#include <string.h>
#define maxn 25000010
short hash[maxn];
int main(){
int a[], x1, x2, x3, x4, x5, cnt, temp;
while (scanf("%d%d%d%d%d", &a[], &a[], &a[], &a[], &a[]) != EOF){
cnt = ;
memset(hash, , sizeof(hash));
for (x1 = -; x1 <= ; x1++){
if (x1){
for (x2 = -; x2 <= ; x2++){
if (x2){
temp = a[] * x1*x1*x1 + a[] * x2*x2*x2;
if (temp<)
temp += maxn;
hash[temp]++;
}
}
}
}
for (x3 = -; x3 <= ; x3++){
if (x3){
for (x4 = -; x4 <= ; x4++){
if (x4){
for (x5 = -; x5 <= ; x5++){
if (x5){
temp = -(a[] * x3*x3*x3 + a[] * x4*x4*x4 + a[] * x5*x5*x5);
if (temp<)
temp += maxn;
if (hash[temp])
cnt += hash[temp];
}
}
}
}
}
}
printf("%d\n", cnt);
}
return ;
}

但是发现有人低内存ac了,然后,然后,把每次求得的值MOD一个数,然后~~~(智商啊)

 #include <stdio.h>
#include <math.h>
#include <string.h>
#define maxn 200005
int hash[maxn][], num[maxn];
int main(){
int i, j, k, l, cnt, tmp, mark, a[];
while (~scanf("%d%d%d%d%d", &a[], &a[], &a[], &a[], &a[])){
memset(num, , sizeof(num));
cnt = ;
for (i = -; i <= ; i++){
if (i){
for (j = -; j <= ; j++){
if (j){
tmp = a[] * i*i*i + a[] * j*j*j;
mark = abs(tmp) % maxn;
hash[mark][num[mark]] = tmp;
num[mark]++;
}
}
}
}
for (i = -; i <= ; i++){
if (i){
for (j = -; j <= ; j++){
if (j){
for (k = -; k <= ; k++){
if (k){
tmp = a[] * i*i*i + a[] * j*j*j + a[] * k*k*k;
mark = abs(tmp) % maxn;
for (l = ; l < num[mark]; l++)
if (tmp == hash[mark][l]) cnt++;
}
}
}
}
}
}
printf("%d\n", cnt);
}
return ;
}

[Swust OJ 166]--方程的解数(hash法)的更多相关文章

  1. POJ 1186 方程的解数

    方程的解数 Time Limit: 15000MS   Memory Limit: 128000K Total Submissions: 6188   Accepted: 2127 Case Time ...

  2. [Swust OJ 404]--最小代价树(动态规划)

    题目链接:http://acm.swust.edu.cn/problem/code/745255/ Time limit(ms): 1000 Memory limit(kb): 65535   Des ...

  3. NOI2001 方程的解数

    1735 方程的解数 http://codevs.cn/problem/1735/ 2001年NOI全国竞赛  时间限制: 5 s  空间限制: 64000 KB     题目描述 Descripti ...

  4. cogs 304. [NOI2001] 方程的解数(meet in the middle)

    304. [NOI2001] 方程的解数 ★★☆   输入文件:equation1.in   输出文件:equation1.out   简单对比时间限制:3 s   内存限制:64 MB 问题描述 已 ...

  5. P5691 [NOI2001]方程的解数

    题意描述 方程的解数 求方程 \(\sum_{i=1}^{n}k_ix_i^{p_i}=0(x_i\in [1,m])\) 的解的个数. 算法分析 远古 NOI 的题目就是水 类似于这道题. 做过这道 ...

  6. [Swust OJ 649]--NBA Finals(dp,后台略(hen)坑)

    题目链接:http://acm.swust.edu.cn/problem/649/ Time limit(ms): 1000 Memory limit(kb): 65535 Consider two ...

  7. 计蒜客 方程的解数 dfs

    题目: https://www.jisuanke.com/course/2291/182237 思路: 来自:https://blog.csdn.net/qq_29980371/article/det ...

  8. [ NOI 2001 ] 方程的解数

    \(\\\) \(Description\) 已知一个 \(N\) 元高次方程: \[ k_1x_1^{p_1}+k_2x_2^{p_2}+...+k_nx_n^{p_n}=0 \] 要求所有的 \( ...

  9. NTC热敏电阻温度计算方法,Steinhart-Hart方程和B值法(转)

    NTC热敏电阻计算器使用方法 NTC热敏电阻计算器 V1.0 10K负温度系数热敏电阻(NTC)温度与阻值对应关系表 Rt = R(25℃)*EXP[B*(1/T - 1/(T+25))] 说明: 1 ...

随机推荐

  1. 【转】20个令人敬畏的jQuery插件

    为网页设计师和开发推荐20个令人敬畏的jQuery插件.例如滑块,图像画廊,幻灯片插件,jQuery的导航菜单,jQuery文件上传,图像旋转器,标签的插件,用户界面​​元素,网络接触形式,模态窗口, ...

  2. inline-block 垂直居中

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. MVC-05 Model(2)

    五.使用Code First数据库迁移 当Entity Framework Code First的数据模型发生异动时,默认会引发一个System.InvalidOpertaionException异常 ...

  4. 25_Downloading An Image

    一个App,从网上下载一张图片(给出图片地址),重新命名,然后保存到手机中,再从手机中取出显示在屏幕上. 难度不大,就是找图片很蛋疼,百度搜索出来的过一会儿会失效,Google搜索出来的有些需要FQ, ...

  5. JavaScript中的鼠标滚轮事件详解

    JavaScript中的鼠标滚轮事件详解/*Firefox注册事件*/ ~~~Firefox: addEventListener('DOMMouseScroll', handler, false)if ...

  6. River Hopscotch(二分最大化最小值)

    River Hopscotch Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 9923   Accepted: 4252 D ...

  7. 开发板-PC机(宿主机)-虚拟机(VM)之间网络通信设置方法及须要注意的问题

    1.不使用路由器交换机 硬件连接: 使用网线将开发板和PC机相连 串口线将PC机和开发板相连 使用命令: ifconfig -a 串口控制端查看开发板的网络配置 route -n 串口控制端查看开发板 ...

  8. JavaScript constructor prototyoe

    想加深一下自己对construtcor prototype的印象所以写了这一篇文章 对象的constructor 就是Object 除了通过构造函数创建的对象意外 他的constructor 都是 都 ...

  9. 界面调试工具Reveal的使用介绍

    Reveal 注: 此处介绍Reveal,其中大部分内容来自于唐巧的<iOS开发进阶>一书,以此说明. 如何使用Reveal进行模拟器调试,只需进行以下三个步骤即可. 1. 创建.lldb ...

  10. HDU 4548 美素数(打表)

    HDU  4548  美素数(打表)解题报告 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=88159#problem/H 题目 ...