【二分搜索】 hdu4282 A very hard mathematic problem

STM32 热敏电阻测量温度 1、硬件 STM32F103C8T6、热敏电阻传感器、OLED。 2、热敏电阻传感器的介绍 阅读详情

A very hard mathematic problem

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4282

题意: X^Z + Y^Z + XYZ = K, (X < Y, Z > 1)。告诉你最后K(0 < K < 2^31)的值,问符合这个等式的X,Y,Z的组合有多少种

题解:因为幂次的增长速度比较快,我们可以枚举X和Z,然后二分搜索是否存在对应的Y。对于A的B次方我们可以先打表储存,之后只需调用即可。

代码:

#include<cstdio>
#include<cstring>
using namespace std;
#define LL long long
LL mat[50001][32]={0};
bool binarySearch(int x,int z,int cnt)
{
    int l=x+1,r=50000,mid;
    for(;l<=r;)
    {
        mid=(l+r)>>1;
        if(mat[mid][z]==0)
        {
            r=mid-1;
            continue;
        }
        if(mat[mid][z]+x*mid*z<cnt)
           l=mid+1;
        else if(mat[mid][z]+x*mid*z>cnt)
           r=mid-1;
        else
            return true;
    }
    return false;
}
int main()
{
    int k;
    for(int i=1;i<=50000;++i)
    {
        mat[i][1]=i;
        for(int j=2;j<=31;++j)
        {
            mat[i][j]=mat[i][j-1]*i;
            if(mat[i][j]>2147483648LL) break;//这个2147483648LL中的LL一定要加上

        }
    }
    for(;scanf("%d",&k),k;)
    {
        long long summ=0;
        int cnt;
        for(int x=1;x<=50000&&x<=k;++x)
            for(int z=2;z<=31;++z)
            {
                if(mat[x][z]==0) break;
                cnt=k-mat[x][z];
                if(cnt-x*z<=0) break;
                if(binarySearch(x,z,cnt))
                    summ++;
            }
        printf("%I64d\n",summ);
    }
    return 0;
}
来源: http://blog.youkuaiyun.com/acm_ted/article/details/7960779

WPS Office JS宏实现文件和数据的上传及下载 WPS Office JS宏下载、上传文件;通过加载项实现数据的获取和上传。 阅读详情

相关推荐

告别复杂编码!用GNURadio + VLC + USRP三步搞定无线视频“直播”(附ffmpeg转码命令)

本文介绍了一种基于GNURadio、VLC和USRP的无线视频传输方案,无需复杂编码即可实现实时视频传输。通过三步流程(工具准备、音频验证、视频传输)和ffmpeg转码命令,帮助用户快速搭建系统,适用于教学演示和原型开发。方案特别强调实时显示效果和带宽优化技巧。

weixin_31714129的博客 359

hdu4282A very hard mathematic problem 暴力枚举

//给出k //找x,y,z使得x^z+y^z+x*y*z = k //x,y,z都为正整数x<y,z>1问有多少种方法 //当z = 2时,可以看到左边是一个完全平方 //而当z>=3时,可以暴力枚举x,y //由于k<2^31所以x<2^(31/3)枚举复杂度可以过 #include<cstdio> #include<cstring> #include<iostream> #include<cm

ijbuhv的专栏 975

【学习笔记】计算机网络 第八章 无线局域网(WLAN)

计算机网络 第八章 无线局域网(WLAN)

Vera_shsf的博客 1243

hdu 4282——A very hard mathematic problem

题意:找出X^Z + Y^Z + XYZ = K的解的个数

char256 608

【软件使用】Calibre部分提参的实用技巧与常见问题解析

本文深入解析Calibre部分提参功能的实用技巧与常见问题,重点介绍hcell和xcell文件的配置方法、PEX命令的进阶使用技巧,以及时钟失真等典型问题的排查指南。通过精准控制寄生参数提取范围,显著提升复杂芯片设计的效率与准确性。

weixin_30836759的博客 118

群晖Hyper Backup还原实战:加密与非加密备份的完整操作指南

本文详细介绍了群晖Hyper Backup在加密与非加密备份场景下的完整还原操作指南。通过实战案例和高级技巧,帮助用户应对硬盘故障或系统崩溃时的数据恢复挑战,特别是加密备份恢复中的关键节点和常见陷阱。

weixin_29323365的博客 440

hdu4282 A very hard mathematic problem(二分)

题目链接:hdu4282题意:给你一个K(K<231)K(K<2^{31})找有多少个符合条件的X,Y,Z(X<Y,Z>1)X,Y,Z(X<Y,Z>1),使得XZ+YZ+X∗Y∗Z=K。X^Z+Y^Z+X*Y*Z=K。题解:我们去枚举X,Z然后二分Y就可以了,因为X的最大为24000,Z最大为31。代码:#include<cstdio> #include<cstring> #include<iost

Zsss的博客 453

STM32硬件SPI调试ADS1256的3个致命坑,CubeMX配置避坑指南

本文深入解析STM32硬件SPI调试ADS1256高精度ADC芯片时常见的3大配置陷阱,包括SPI时钟频率、时钟极性与相位、数据字节序等关键问题。通过CubeMX实战配置指南和实测数据对比,提供稳定可靠的解决方案,帮助开发者避免常见错误,提升采样精度和系统稳定性。

weixin_42550597的博客 346

HDU 4282 (比较厉害的 二分)

题意: 有一个式子: X^Z + Y^Z + XYZ = K,现在给出K,问有多少XYZ的组成方式, 注意条件:X < Y, Z > 1,0 < K < 2^31; 思路: 若想直接暴力解决,需要三重循环,铁超。。。所以现在能不能加速?二分可以, 需要提前准备,如果提前把X^Z和Y^Z的所有情况算出来,那么事半功倍,枚举 X^Z然后查找Y既可。天才般的想法。 #in

Since_natural_ran 896

Android实战——白天黑夜模式设置

白天黑夜模式是一种动态的UI模式,根据当前时间或用户设置的偏好,在白天和黑夜之间进行切换。它通过调整应用程序的颜色、亮度和其他可视化元素来提供更加舒适和易读的用户界面。

小旭的专栏 5229

6、业务影响分析(BIA)的数据收集与关键指标评估

本文全面解析了业务影响分析(BIA)的核心内容,包括数据收集、业务流程分析、信息系统与资产清单、人员与供应商依赖、影响声明、关键指标评估(如MTD、RTO、RPO)、威胁建模与风险分析等。通过详细的介绍和图表展示,帮助组织系统性地制定灾难恢复计划,以应对各种潜在风险,确保关键业务流程在灾难发生后能够快速恢复并持续运营。

moss5的博客 374

hdu 4282

不说了数据太小水一发就好了。 1031: A very hard mathematic problem(less data) Time Limit: 1 Sec  Memory Limit: 32 MB Submit: 63  Solved: 10 [Submit][Status][Web Board] Description Hill is very go

爱梦者的心之旅 520

异构图中的注意力机制网络:节点级别和语义级别的注意力(Python实现)

在本文中,我们介绍了如何使用Python实现异构图中的节点级别注意力和语义级别注意力。通过语义级别注意力,我们可以根据节点的语义信息对节点进行加权聚合。在本文中,我们将介绍如何使用Python实现异构图中的注意力机制网络,包括节点级别的注意力和语义级别的注意力。最后,我们使用注意力权重对节点特征进行加权聚合,得到聚合后的节点表示。然后,将聚合后的节点表示传递给语义级别注意力模型,根据节点的语义信息进行加权聚合,得到最终的表示。函数中,首先使用节点级别注意力模型对节点特征进行聚合,得到聚合后的节点表示。

HackNebulaZ的博客 485

HDU4282 A very hard mathematic problem(二分搜索)

题目大意: 给你一个K,求出 符合X^Z + Y^Z + XYZ = K式子的个数。 解题思路: 由于题目给出X < Y, Z > 1,0 < K < 2^31 , 所以推出X>=1,Y>=2 , Z>=2 , XYZ>=4. 当Z=2时,(X+Y)^2=K ,此时X可以取最大,且K取最大时,X将近取50000,所以开一个50000的数组。 当Z>=3时,因为Y^Z<K , Y>=2,所以Z<31. 所以对X(1=<X<=50000)和Z(1=<Z<31)进行枚举,然后进行二分,看Y是否符合条件

Menglei Min 1287

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

HDU 4282 A very hard mathematic problem 二分

来源:http://acm.hdu.edu.cn/showproblem.php?pid=4282 题意:给出一个数n,问x^z + y^z + x*y*z = n有多少这样的x y z,其中y > x,z > 1,x,y,z都是正数。 思路:注意到z最大为31,x最大为50000,因此可以枚举x,z,二分判断y即可。 代码: #include #include #include #

1066

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

HDU 4282 A very hard mathematic problem

Problem Description Haoren is very good at solving mathematic problems. Today he is working a problem like this: Find three positive integers X, Y and Z (X < Y, Z > 1) that holds X^Z + Y^Z + XYZ...

qq_43482330的博客 293

HDU 4282 A very hard mathematic problem

Description   Haoren is very good at solving mathematic problems. Today he is working a problem like this:    Find three positive integers X, Y and Z (X 1) that holds     X^Z + Y^Z + XYZ = K

杭锦泉的博客 964

hdu 4282 A very hard mathematic problem 二分法

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4282 题意:。告诉我们K的大小,问符合这个等式的X,Y,Z的组合有多少种。 因为幂次的增长速度比较快,我们可以枚举X和Z,这样我们可以把三重循环降低到二重循环,然后二分搜索每一对(X,Z)是否存在对应的Y。对于A的B次方我们可以先打表储存,使用的时候直接调用,这样也可以降低一定的时间复杂度

弱菜zc 827

HDU 4282 A very hard mathematic problem [剪枝/二分]

这题暴力+剪枝就可以过,重点是一个强剪枝:当z=2时,用完全平方公式解,直接得出符合的解数。 或者二分y,因为当x、z确定时,f是y的增函数。 但是二分我不知道为什么用while(low[mark] 1、暴力+剪枝 #include #include #include #include #include #include #include #include using name

tclh123 - 悲剧的泳裤王子 1535

A very hard mathematic problem HDU - 4282(二分)

Haoren is very good at solving mathematic problems. Today he is working a problem like this:   Find three positive integers X, Y and Z (X < Y, Z > 1) that holds    X^Z + Y^Z + XYZ = K   where K ...

tomjobs的博客 445

hdu4282 A very hard mathematic problem

Haoren is very good at solving mathematic problems. Today he is working a problem like this:   Find three positive integers X, Y and Z (X 1) that holds    X^Z + Y^Z + XYZ = K   where K is anot

mwhybmj的博客 471

A very hard mathematic problem

E - A very hard mathematic problem Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 4282 Description   Haoren is very good at s

梧桐下的四叶草 1042

HDU4282 A very hard mathematic problem 快速幂

问题描述: Haoren is very good at solving mathematic problems. Today he is working a problem like this:    Find three positive integers X, Y and Z (X 1) that holds     X^Z + Y^Z + XYZ = K    where

sinat_21243261的专栏 510

hdu 4282 A very hard mathematic problem(二分)

Haoren is very good at solving mathematic problems. Today he is working a problem like this:    Find three positive integers X, Y and Z (X 1) that holds    X^Z + Y^Z + XYZ = K   where K is another

芒果街上的小屋(此博客暂时停用) 467

hdu4282 A very hard mathematic problem

A very hard mathematic problem Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 991Accepted Submission(s): 287 Problem Description   ...

angtongyou1893的博客 186

HDUOJ 4282 A very hard mathematic problem

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CLOSE() ios::sync_with_stdio(fal

%%% 409

HDU - 4282 A very hard mathematic problem

问题描述: Haoren is very good at solving mathematic problems. Today he is working a problem like this:   Find three positive integers X, Y and Z (X < Y, Z > 1) that holds    X^Z + Y^Z + XYZ = K   where K is another given integer.   Here the operator “^”

m0_51727949的博客 202
上一篇: 【STL】 hdu4287 Intelligent IME
下一篇: 【DFS】 hdu4277 USACO ORZ
ACM_Ted
博客等级 码龄15年 122粉丝 208原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值