zoukankan      html  css  js  c++  java
  • Eqs hash表存储,注意hash要用char类型

    Problem Description
    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. 
     
    Input
    The only line of input contains the 5 coefficients a1, a2, a3, a4, a5, separated by blanks.
     
    Output
    The output will contain on the first line the number of the solutions for the given equation.
     
    Sample Input
    37 29 41 43 47
     
    Sample Output
    654
    ***************************************************************************************************************************
    hash表的应用
    ***************************************************************************************************************************
     1 #include<iostream>
     2 #include<string>
     3 #include<cstring>
     4 #include<cmath>
     5 #include<cstdio>
     6 using namespace std;
     7 const int maxn=20000000;//防止出现负;
     8 char hash[40000000];//此处用char节省内存
     9 int a1,a2,a3,a4,a5;
    10 int i,j,k;
    11 int main()
    12 {
    13     int sum;
    14     while(scanf("%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5)!=EOF)
    15     {
    16         sum=0;
    17         memset(hash,0,sizeof(hash));
    18         //前两个
    19         for(i=-50;i<=50;i++)
    20          for(j=-50;j<=50;j++)
    21           if(i!=0&&j!=0)
    22            hash[i*i*i*a1+j*j*j*a2+maxn]++;//hash表存储
    23         //后三个
    24         for(i=-50;i<=50;i++)
    25          for(j=-50;j<=50;j++)
    26           for(k=-50;k<=50;k++)
    27            if(i!=0&&j!=0&&k!=0)
    28              sum+=hash[i*i*i*a3+j*j*j*a4+k*k*k*a5+maxn];//由结果的对称性,可得
    29         printf("%d
    ",sum);
    30     }
    31 }
    View Code
  • 相关阅读:
    BZOJ 1191 HNOI2006 超级英雄hero
    BZOJ 2442 Usaco2011 Open 修建草坪
    BZOJ 1812 IOI 2005 riv
    OJ 1159 holiday
    BZOJ 1491 NOI 2007 社交网络
    NOIP2014 D1 T3
    BZOJ 2423 HAOI 2010 最长公共子序列
    LCA模板
    NOIP 2015 D1T2信息传递
    数据结构
  • 原文地址:https://www.cnblogs.com/sdau--codeants/p/3389493.html
Copyright © 2011-2022 走看看