博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 4282 枚举,非二分
阅读量:5089 次
发布时间:2019-06-13

本文共 1712 字,大约阅读时间需要 5 分钟。

对于方程X^Z + Y^Z + XYZ = K,已知K求此方程解的个数,其中要求X<Y,Z>1,而K的范围是0到2^31。

首先我们来分析Z的范围:由于X,Y为正整数,X < Y,则1 < X < Y, =====> Y >= 2

=> X^Z + Y^Z + XYZ > Y^Z
=> 2^Z <= Y^Z < 2^31
所以得到2 <= Z<31
对于Z=2时式子左边可以化为(x+y)^2 = k 的形式。
所以当k 是完全平方数的时候,(x,y) 才有可能有解。
假如m^2 = k ,问题就相当于求x+y = m (x < y) 的解的组数。
容易得出ans=(m-1)/2。

而Z在3<=Z<31的情况。

我们再来分析X的范围:
对于方程X^Z + Y^Z + XYZ = K, X < Y,则有X^Z + Y^Z + XYZ > 2*X^Z + X*X*Z >= 2*X^3 + 3*X^2
即我们得到:2*X^3 + 3*X^2 < 2^31 解这个方程有:X < 1024
于是现在我们得到了3 <= Z < 31,1 <= X < 1024,当然Z=2特殊处理。接下来就直接枚举X,Z,再枚举Y。

复杂度O(10^4)左右,因为y不会和相差太远

#pragma comment(linker, "/STACK:36777216")#pragma GCC optimize ("O2")#include 
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define RD(x) scanf("%I64d",&x)#define RD2(x,y) scanf("%d%d",&x,&y)#define RD3(x,y,z) scanf("%d%d%d",&x,&y,&z)#define clr0(x) memset(x,0,sizeof(x))#define eps 1e-9const double pi = acos(-1.0);typedef long long LL;typedef unsigned long long ULL;const int modo = 1e9 + 7;const int INF = 0x3f3f3f3f;const int maxn = 1005,N = 50000;LL s,k,ans;LL f[1300][32];void init(){ for(int i = 1; i < 1300;++i){ f[i][0] = 1; for(int j = 1;j < 32;++j){ f[i][j] = f[i][j-1]*i; if(f[i][j] > (1LL<<31)) break; } }}int main(){ init(); while(~RD(k),k){ ans = 0; s = sqrt(k); if(s * s == k){ ans += (s - 1)/ 2; } for(int x = 1;x < 1024;++x){ for(int z = 3;z < 31;++z){ if(f[x][z] == 0) break; for(int y = x + 1;;++y){ if(f[y][z] == 0 || f[x][z] + f[y][z] + x*y*z > k) break; else if(f[x][z] + f[y][z] + x*y*z == k){ ans ++ ; break; } } } } printf("%I64d\n",ans); } return 0;}

转载于:https://www.cnblogs.com/zibaohun/p/4074381.html

你可能感兴趣的文章
sqlserver日志文件太大解决方法
查看>>
第三十五章 metrics(3)- codahale-metrics基本使用
查看>>
第十二章 redis-cluster搭建(redis-3.2.5)
查看>>
匹夫细说C#:不是“栈类型”的值类型,从生命周期聊存储位置
查看>>
超时时间已到。在操作完成之前超时时间已过或服务器未响应。 (.Net SqlClient Data Provider)...
查看>>
练习2-11 计算分段函数[2] (10 分)
查看>>
从零开始系列之vue全家桶(1)安装前期准备nodejs+cnpm+webpack+vue-cli+vue-router
查看>>
ASP.NET缓存 Cache之数据缓存
查看>>
bzoj3529: [Sdoi2014]数表
查看>>
SSH三大框架 整合必备jar包
查看>>
什么是电子商务?电子商务面临的几个关键问题及解决办法?电子商务的核心是什么?B2C电子商务运营的核心是什么 ?...
查看>>
Jsp抓取页面内容
查看>>
AJAX与servlet的组合,最原始的
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
DP 简单题 之 poj 1163
查看>>
P1136 迎接仪式
查看>>
CharacterEncodingFilter-Spring字符编码过滤器
查看>>
starling教程-事件模型(Event model )
查看>>
第二章 Js函数
查看>>
蓝桥杯 ALGO-2:最大最小公倍数
查看>>