题意

xz+yz+x∗y∗z=kx^z+y^z+x*y*z = k ( y>x&&z>1y>x&&z>1)
给我们这个等式让我们找出这里面有多少个不同的可行解

分析

表面上数据范围比较大 但由于k最大都在int范围内 由于后面还有一个x*y*z 于是这个式子的指数不会超过31
再来分析x和y 这里必定是一个y大x小 那么假如我们先枚举一个数 那么另一个数的范围必定就是 1~y-1
由于这个式子是个单调性的式子 也就是说这个式子必定是增函数 那么确定了两个量 最后一个x量一定是个唯一的
而且随着x的变化 得到的k值具有单调性 那么这里我们就可以使用二分去查找这个值

code

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll pow(ll a,ll b){ll ans = 1;while(b){if(b&1)ans*=a;a*=a;b>>=1;}return ans;
}
int main()
{int n;while(scanf("%d",&n),n){ll x,y,z,cnt=0; for(z = 2;1+pow(2,z)+2*z<=n;z++){// z最小是2 直到z不满足最小的x和y为止 也就是x和y没范围了for(y = 2;1+pow(y,z)+y*z<=n;y++)// y下界也是2 直到y和z不满足最小的x为止 也就是x没范围了 那么枚举就没有意义了{ll l=1,r = y-1,mid;while(l<=r){// x在1-y之间枚举 mid = l+r>>1;ll ans = pow(mid,z)+pow(y,z)+mid*y*z;if(ans==n){cnt++;break;}else if(ans<n)l = mid+1;else  r = mid-1;}}}printf("%d\n",cnt);}return 0;
} 

HDU-4282 A very hard mathematic problem 技巧枚举+二分相关推荐

  1. HDU 4282 A very hard mathematic problem 二分题目

    http://acm.hdu.edu.cn/showproblem.php?pid=4282 题解:http://www.cnblogs.com/E-star/archive/2012/09/11/2 ...

  2. hdu 2058 解题报告 - The sum problem

    hdu 2058 解题报告 - The sum problem 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2058 等差求和公式: Sn=(a1+aN ...

  3. 【HDU 5936 --- Difference】折半枚举+二分

    [HDU 5936 --- Difference]折半枚举+二分 Description Little Ruins is playing a number game, first he chooses ...

  4. hdu 3509 Buge's Fibonacci Number Problem(矩阵乘法+二项式)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=3509 Buge's Fibonacci Number Problem Time Limit: 10000/ ...

  5. HDU 6833 A Very Easy Math Problem

    A Very Easy Math Problem 推式子 ∑ai=1n∑a2=1n⋯∑ax=1n(∏j=1xajk)f(gcd(a1,a2,-,ax))×gcd(a1,a2,-,ax)\sum_{a_ ...

  6. HDU 4403 A very hard Aoshu problem DFS

    problem statement 这道题给我们一个不超过15位的整数 让我们在其中加等号或者加号 如果加完符号后符合计算结果 那么计数 最后输出所有的情况 problem analysis 这道题其 ...

  7. 【HDU - 1757】A Simple Math Problem (矩阵快速幂)

    题干: Lele now is thinking about a simple function f(x). If x < 10 f(x) = x.  If x >= 10 f(x) = ...

  8. hdu 3509 Buge's Fibonacci Number Problem

    点击此处即可传送 hdu 3509 题目大意:F1 = f1, F2 = f2;; F(n) = a*F(n-1) + b*F(n-2); S(n) = F1^k + F2^k +-.+Fn^k; 求 ...

  9. HDU多校4 - 6813 Last Problem(构造)

    题目链接:点击查看 题目大意:给出一个无限大的二维平面,需要在平面内进行染色,每次可以选择一个点 ( x , y ) 将其染色为 n 的前提是,相邻四个格子必须分别已经染了 n - 1 , n - 2 ...

最新文章

  1. robo3t 连接服务器数据库_车牌识别软件连接各种数据库方法大全
  2. 布朗大学研究者提出面向下一代脑机接口系统
  3. 每天一个设计模式,工厂方法模式(Factory Method)
  4. 分布式监控系统Zabbix3.2添加自动发现磁盘IO并注册监控
  5. Spark任务执行期间写临时文件报错导致失败
  6. 另一种Background job的 debug方法
  7. tomcat源码阅读之Server和Service接口解析
  8. [html] 你知道短链接的生成原理吗?
  9. 小程序动态class_会后剧透!百度智能小程序的最新动态都在这儿了!
  10. pythoncookie自动模拟登录_用Python模拟技巧带你实现自动抽屉登录自动点赞
  11. UI实用素材|电子商务界面模板
  12. android主题资源,使用 Theme Editor 设计应用主题背景
  13. 数据库Oracle 11g的安装步骤
  14. 转载《OpenGIS: Open Geodata Interoperation Specification》中文翻译
  15. 利用 Commons-Fileupload 实现文件上传分析(转)
  16. linux系统火狐浏览器加速,火狐浏览器加速的几个设置
  17. opengauss数据库常用SQL语句
  18. windows开机后一键启动应用程序
  19. 高数 | 导数极限定理、分段点求导能不能用公式?导数和导数的极限?
  20. Protected Process Light(PPL)微软系统进程保护机制

热门文章

  1. 4种kill某个用户所有进程的方法
  2. ASP.NET学习笔记之操作过滤器
  3. oracle已经有了注释符再注释,关于oracle的注释位置
  4. rocketmq 初探(五)
  5. Spring和SpringMVC总结篇
  6. activity与service 使用Handler Messenger数据传递
  7. 什么是eager loading
  8. (JAVA)StringBuffer类(练习)
  9. javagei图片设置热点_【物理考点】重磅押题: 2020高考物理必考热点+命题预测+例题解析, 快快快收藏!...
  10. 字段 新增hive_Hive分区表 | 每日五分钟学大数据