a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0,xi∈[-50,50],且xi!=0。让我们求所有解的可能。

首先,如果暴力判断的话,每个x的取值有100种可能,100^5肯定会超时。

我们可以枚举x1,x2的值,并且记录下来。再枚举x3,x4,x5的值。如果发现有互为相反数的,说明有一个解存在。复杂度却大大降低了。

当然,我们可以只处理正数的情况。如果存在一组解,x1,x2,x3,x4,x5,那么容易证明-x1,-x2,-x3,-x4,-x5也是一组解。

我们只记录a1x13+ a2x23>0的情况,如果发现有相等的a3x33+ a4x43+ a5x53,解的数量应该增加2个。

经过优化,笔者的代码在POJ上 94MS 完成。代码如下:

#include <cstdio>
#include <cstring>
#include <map>
using namespace std; unsigned char mp[]; int main()
{
// freopen("in.txt","r",stdin);
int a,b,c,d,e;
scanf("%d%d%d%d%d",&a,&b,&c,&d,&e); int calThird[];
for(int i=-;i<=;i++)
calThird[i+]=i*i*i; int zero=;
for(int i=-;i<=;i++) if(i)
for(int k=-;k<=;k++) if(k)
{
int res=a*calThird[i+]+b*calThird[k+];
if(res==)
zero++;
else if(res>)
{
mp[res]+=;
}
} int count=;
for(int i=-;i<=;i++) if(i)
for(int k=-;k<=;k++) if(k)
for(int j=-;j<=;j++) if(j)
{
int res=c*calThird[i+]+d*calThird[k+]+e*calThird[j+];
if(res==)
count+=zero;
else if(res> && res<=)
count+=mp[res];
} printf("%d\n",count);
}

POJ 1840 Eps 解题报告(哈希)的更多相关文章

  1. POJ 2002 Squares 解题报告(哈希 开放寻址 & 链式)

    经典好题. 题意是要我们找出所有的正方形.1000点,只有枚举咯. 如图,如果我们知道了正方形A,B的坐标,便可以推测出C,D两点的坐标.反之,遍历所有点作为A,B点,看C,D点是否存在.存在的话正方 ...

  2. 【原创】poj ----- 1182 食物链 解题报告

    题目地址: http://poj.org/problem?id=1182 题目内容: 食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submi ...

  3. poj 2051.Argus 解题报告

    题目链接:http://poj.org/problem?id=2051 题目意思:题目有点难理解,所以结合这幅图来说吧---- 有一个叫Argus的系统,该系统支持一个 Register 命令,输入就 ...

  4. poj 1102.LC-Display 解题报告

    题目链接:http://poj.org/problem?id=1102 题目意思:就是根据给出的格式 s 和 数字 n,输出数值 n 的 LCD 显示.数值 n 的每个数字要占据 s + 2 列 和 ...

  5. poj 1363 Rails 解题报告

    题目链接:http://poj.org/problem?id=1363 题意:有一列火车,车厢编号为1-n,从A方向进站,向B方向出站.现在进站顺序确定,给出一个出站的顺序,判断出站顺序是否合理. 实 ...

  6. POJ 3159 Candies 解题报告(差分约束 Dijkstra+优先队列 SPFA+栈)

    原题地址:http://poj.org/problem?id=3159 题意大概是班长发糖果,班里面有不良风气,A希望B的糖果不比自己多C个.班长要满足小朋友的需求,而且要让自己的糖果比snoopy的 ...

  7. poj 1201 Intervals 解题报告

    Intervals Time Limit: 2000MS   Memory Limit: 65536KB   64bit IO Format: %lld & %llu Submit Statu ...

  8. POJ P1741 Tree 解题报告

    Description Give a tree with n vertices,each edge has a length(positive integer less than 1001). Def ...

  9. poj 1469 COURSES 解题报告

    题目链接:http://poj.org/problem?id=1469 题目意思:有 N 个人,P个课程,每一个课程有一些学生参加(0个.1个或多个参加).问 能否使得 P 个课程 恰好与 P 个学生 ...

随机推荐

  1. 关于atoi的实现

    一.关于atoi atol的实现 __BEGIN_NAMESPACE_STD __extern_inline double __NTH (atof (__const char *__nptr)) { ...

  2. C++ 遇见的一些函数

    1.位与(&)操作,计算十进制数中的为"1"的位数 int cnt_one(int k) { ; //保存位为"1"的数量 while (k) { k ...

  3. JavaScript 中的内存泄漏

    JavaScript 中的内存泄漏 JavaScript 是一种垃圾收集式语言,这就是说,内存是根据对象的创建分配给该对象的,并会在没有对该对象的引用时由浏览器收回.JavaScript 的垃圾收集机 ...

  4. iis7以上版本权限控制

    IIS7.5中(仅win7,win2008 SP2,win2008 R2支持),应用程序池的运行帐号,除了指定为LocalService,LocalSystem,NetWorkService这三种基本 ...

  5. 【BZOJ】1925: [Sdoi2010]地精部落 DP+滚动数组

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1925 题意:输入一个数N(1 <= N <= 4200),问将这些数排列成折线 ...

  6. Mongodb FAQ fundamentals(基础篇)

    Mongodb FAQ(基础篇),是官方文档的翻译.如有翻译不到之处,还请谅解. 1.Mongdb是什么数据库? mongodb是一个面向文档(document)的数据库,既不支持表连接,也不支持事务 ...

  7. Automotive Security的一些资料和心得(5):Privacy

    1. Introduction 1.1 "Customers own their data and we can be no more than the trsted stewards of ...

  8. Mysql不区分大小写

    mysql在windows下表名是不区分大小写的,但是在linux下是区分大小写的: 今天帮朋友解决安装到ubuntu系统下mysql不区分大小写的问题,最初在/etc/my.cnf文件中的[mysq ...

  9. Hadoop集群(第10期)_MySQL关系数据库

    1.MySQL安装 MySQL下载地址:http://www.mysql.com/downloads/ 1.1 Windows平台 1)准备软件 MySQL版本:mysql-5.5.21-win32. ...

  10. [XJOI NOI2015模拟题13] B 最小公倍数 【找规律】

    题目链接:XJOI - NOI2015-13 - B 题目分析 通过神奇的观察+打表+猜测,有以下规律和性质: 1) 删除的 n 个数就是 1~n. 2) 当 c = 2 时,如果 n + 1 是偶数 ...