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. 基于SMB共享文件夹的上传于下载

    需要用到的jar包   http://pan.baidu.com/s/1skQFk77 1.首先在一台电脑上设置共享文件夹 ----上传下载的方法类 package com.strongit.tool ...

  2. 用分治法实现大数乘法,加法,减法(java实现)

    大数乘法即多项式乘法问题,求A(x)与B(x)的乘积C(x),朴素解法的复杂度O(n^2),基本思想是把多项式A(x)与B(x)写成 A(x)=a*x^m+b B(x)=c*x^m+d 其中a,b,c ...

  3. (转)MySql可视化工具MySQL Workbench使用教程

    转自:http://www.cnblogs.com/daimage/archive/2012/02/25/2367534.html 1. MySQL Workbench MySQL Workbench ...

  4. C 字符/字符串常用函数

    string.h中常用函数 char * strchr(char * str ,char ch); 从字符串str中查找首次出现字符ch的位置,若存在返回查找后的地址,若不存在则返回NULL void ...

  5. 2015版App推广全攻略(完整版)

    线上渠道 1.基础上线 各大手机厂商市场.第三方应用商店.大平台.PC下载站.手机WAP站.收录站.移动互联网应用推荐媒体等等基本可以覆盖Android版本发布渠 道:推广的第一步是要上线,这是最基础 ...

  6. JDBC链接

    //1. MySQL(http://www.mysql.com)mm.mysql-2.0.2-bin.jar  Connection con = null;  Class.forName( " ...

  7. java学习--抽象类与接口

    一.抽象 在使用抽象类时需要注意几点: 1.抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可. 2.抽象方法必须由子类来进行重写. 3.只要包含一个抽象方法的抽象类,该方 ...

  8. 什么是UI控件

    凡是带有Widget参数的组件都是控件.

  9. 我的PHP之旅--数据库连接MySQL服务器,添加 删除 查询

    PHP连接MySQL服务器 连接MySQL的方法:mysql_connect(); 语法:resource $link = mysql_connect($hostname, $username, $p ...

  10. Adapting to views using css or js

    using css @media screen and (-ms-view-state: fullscreen-landscape) { } @media screen and (-ms-view-s ...