【POJ1840】Eqs

2023-11-07 19:08
文章标签 poj1840 eqs

本文主要是介绍【POJ1840】Eqs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目链接:http://poj.org/problem?id=1840
题解
首先可以想到最简单的五层循环暴力枚举,肯定会超时
我们可以将等式转化一下
a1x31+a2x32+a3x33+a4x34+a5x35=0 等价于
a1x31+a2x32=a3x33+a4x34+a5x35
所以只需要分别枚举 x1,x2,x3x4,x5 ,判断是否是相反数即可
考虑到计算出来的值可能比较大,所以将数字哈希一下,用map即可实现
复杂度 O(1003+1002) ,非常科学

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<map>using namespace std;
int a[6];
map<int,int> hash;int main()
{for(int i=1;i<=5;i++) cin>>a[i];for(int i=-50;i<=50;i++)for(int j=-50;j<=50;j++){if(i==0||j==0) continue;int tmp=i*i*i*a[1]+j*j*j*a[2];if(hash.find(tmp)!=hash.end()) hash[tmp]++;else hash[tmp]=1;   }long long ans=0;for(int i=-50;i<=50;i++)for(int j=-50;j<=50;j++)for(int k=-50;k<=50;k++){if(i==0||j==0||k==0) continue;int tmp=-(i*i*i*a[3]+j*j*j*a[4]+k*k*k*a[5]);if(hash.find(tmp)==hash.end()) continue;ans+=hash[tmp];}printf("%lld\n",ans);return 0;       
} 

这篇关于【POJ1840】Eqs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/365682

相关文章

斯坦福UE4 C++课学习补充25:寻路EQS

文章目录 一、创建EQS二、修改行为树三、查询上下文 一、创建EQS 场景查询系统EQS:可用于收集场景相关的数据。然后该系统可以使用生成器,通过各种用户定义的测试就这些数据提问,返回符合所提问题类型的最佳项目Item。 EQS的一些使用范例包括:找到最近的回复剂或弹药、判断出威胁最大的敌人,或者找到能看到玩家的视线 参考链接:https://dev.epicgames.c

poj 1840 Eqs 暴力

大致题意: 给出一个5元3次方程,输入其5个系数,求它的解的个数 其中系数 ai∈[-50,50] 自变量xi∈[-50,0)∪(0,50] 注意: 若x1 =a, x2=b ,x3=c ,x4=d,x5=e时,与 x1=b, x2=a ,x3=c ,x4 =d, x5=e 代入方程后都得到值0,那么他们视为不同的解。 解题思路: 直观的思路:暴力枚举,O(n^5) 题目Time L

奔驰EQS SUV升级增强现实AR抬头显示HUD香氛系统

增强AR实景抬头显示HUD(Augmented Reality Head-Up Display)是一种更高级的驾驶辅助技术,相比于普通抬头显示HUD,它提供了更丰富、更具沉浸感的驾驶体验。以下是它比普通抬头显示HUD多的一些功能: • 信息呈现方式:普通抬头显示HUD通常只能显示简单的文字和图标,而增强AR实景抬头显示HUD可以在驾驶员的视线范围内呈现更多的信息,并将其与实际道路场景进行融合,使

POJ 1840 Eqs hash

题意:解方程组a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0 ,x属于[50,50]且x!=0输入a1,a2,a3,a4,a5,输出一共有多少种满足方程的解。 题解:左右分开,hash #include <iostream>using namespace std;#define prime 14999 int cube[105], hash[prime][100],