立方数1

Time Limit:1000ms Memory Limit:128MB

题目描述
LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数,例如1,8,27就是最小的3个立方数。
现在给定一个数P,LYK想要知道这个数是不是立方数。
当然你有可能随机输出一些莫名其妙的东西来骗分,因此LYK有T次询问~

输入格式(cubic.in)
第一行一个数T,表示有T组数据。
接下来T行,每行一个数P。

输出格式(cubic.out)
输出T行,对于每个数如果是立方数,输出“YES”,否则输出“NO”。

输入样例
3
8
27
28

输出样例
YES
YES
NO

数据范围
对于30%的数据p<=100。
对于60%的数据p<=10^6。
对于100%的数据p<=10^18,T<=100。

题解(二分):

#include<iostream>
#include<cstdio>
#include<cstring>
#include<set>
#include<vector>
using namespace std;
long long a[1000000+10];
int main()
{int n;scanf("%d",&n);for(long long i=1;i<=1000000;i++){a[i]=i*i*i;}for(int i=1;i<=n;i++){long long x;cin>>x;int l=0,r=1000001;bool flag=0;while(l<=r){int mid=(l+r)/2;if(a[mid]<x){l=mid+1;}else if(a[mid]==x){flag=1;break;}else{r=mid-1;}}if(flag){printf("YES\n");}else{printf("NO\n");}}return 0;
}

立方数2(cubicp)
Time Limit:1000ms Memory Limit:128MB

题目描述
LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数,例如1,8,27就是最小的3个立方数。
LYK还定义了一个数叫“立方差数”,若一个数可以被写作是两个立方数的差,则这个数就是“立方差数”,例如7(8-1),26(27-1),19(27-8)都是立方差数。
现在给定一个数P,LYK想要知道这个数是不是立方差数。
当然你有可能随机输出一些莫名其妙的东西,因此LYK有T次询问~
这个问题可能太难了…… 因此LYK规定P是个质数!

输入格式(cubicp.in)
第一行一个数T,表示有T组数据。
接下来T行,每行一个数P。

输出格式(cubicp.out)
输出T行,对于每个数如果是立方差数,输出“YES”,否则输出“NO”。

输入样例
5
2
3
5
7
11

输出样例
NO
NO
NO
YES
NO

数据范围
对于30%的数据p<=100。
对于60%的数据p<=10^6。
对于100%的数据p<=10^12,T<=100。

思路:如果p是立方差数且为质数,p一定是两个相邻数字(即相差为1)的立方差和。

立方差公式:a3{a}^{3}-b3{b}^{3}=(a-b)*(a2{a}^{2}+a*b+b2{b}^{2})

二分右边界到1e6。

题解:

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{int n;scanf("%d",&n);for(int i=1;i<=n;i++){long long x;cin>>x;bool flag=0;long long l=0,r=100000+1;while(l<=r){long long mid=(l+r)/2;if(mid*mid*mid-(mid-1)*(mid-1)*(mid-1)<x){l=mid+1;}else if(mid*mid*mid-(mid-1)*(mid-1)*(mid-1)>x){r=mid-1;}else if(mid*mid*mid-(mid-1)*(mid-1)*(mid-1)==x){flag=1;break;}}if(flag){printf("YES\n");}else{printf("NO\n");}}return 0;
}

立方数(清北学堂济南刷题冲刺)相关推荐

  1. 【清北学堂济南刷题班】集合

    集合 [问题描述] 给定一个可重集合,一开始只有一个元素0 .然后你可以操作若干轮,每一 轮,你需要对于集合中的每个元素 x 进行如下三种操作之一: 1.将 x 变为 x +1. 2 .将 x 分裂为 ...

  2. 2017国庆 济南清北学堂 8天乐

    Day 0 想吐槽济南的堵车 大约接近4点从莱芜走的,走高速一个多小时,5点左右就到了济南,但是因为济南的堵车,下班高峰期,用了两个多小时才到了我们的目的地.好不容易到宾馆登记了,mc还要我们开会,8 ...

  3. 2020清北学堂秋季营感想——Hoarfrost

    2020清北学堂秋季营感想 前言:九月三十日放假以后,就马不停蹄地开始了这一次的奥赛培训.原先参加过暑假的提高组腾飞营,当时第一场模拟赛拿了第一,便觉得CSP的题目难度不会很高,普及+/提高-左右的难 ...

  4. 清明培训 清北学堂 DAY1

    今天是李昊老师的讲授~~ 总结了一下今天的内容: 1.高精度算法 (1)   高精度加法 思路:模拟竖式运算 注意:进位 优化:压位 程序代码: #include<iostream> #i ...

  5. 【十一日记】 清北学堂酱油记

    Day 0 五点起床 困~ 喜闻乐见的六点集合 嗯我们出发的时候迟到了四分钟( 06:26 第一次出去怎么多人 啧啧啧 @57的熊孩子们好多啊qwq 十分钟到一中 果然老司机233 嗯 目睹他们放学吃 ...

  6. 清北学堂 2017-10-07

    ********今天得了在清北的最高分,有点开心wwwww,mjy爱您! 树  [问题背景]  zhx 是二叉查找树大师.  [问题描述]  二叉查找树是一种特殊的二叉树(每个节点最多只有两个儿子的树 ...

  7. 清北学堂(2019 4 28 ) part 1

    今天主要用来铺路,打基础 枚举 没什么具体算法讲究,但要考虑更优的暴力枚举方法,例如回文质数,有以下几种思路: 1.挨个枚举自然数,再一起判断是否是回文数和质数,然而一看就不是最优 2.先枚举质数再判 ...

  8. 清北学堂学习笔记 第一期

    Day 1 1.贪心的奇怪方法:调整法 调整法,顾名思义,就是用别的方式进行题目的分析以及证明,例如说luogu的最大乘积.这种题目的主要分析思路为:先考虑一些简单的情况,通过简单的情况来推出一些有用 ...

  9. 清北刷题冲刺 11-02 a.m

    卖书 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...

最新文章

  1. 英伟达推出Super显卡,老黄再现精准“刀法”,网友:都是被AMD逼的
  2. 平凡的世界,有感而发
  3. 【杂谈】从医学专业转行到AI,独立完成项目到获得加州理工大学读研推荐,我如何与有三AI结缘...
  4. python首行代码import *,from * import * 解析
  5. 内置类型存储空间(32位机参考)
  6. 使用pickle模块序列化数据,优化代码
  7. Linux学习笔记4.4-Linux重定向
  8. PCL——连接两个点云的字段
  9. ElasticSearch经验小结 (Based on 5.x)
  10. 分布式存储引擎OceanBase,UpdateServer 实现机制——存储引擎
  11. Mysql常用操作2
  12. Julia: h5write ,h5read 与ASCIIString、Float64及效率比较
  13. 特殊字符保存到SQL数据库的问题
  14. u盘为什么要安全弹出?丢失的数据怎么恢复?
  15. Frank Pfenning
  16. iPhone, iPad, 的Safari书签和阅读列表不同步问题
  17. gitter 卸载_最佳的Gitter渠道:数据科学和机器学习
  18. 从360图书馆抓取全球国家的中文名与英文名(requests_html)
  19. 手机拍的照片计算机内存不足怎么办,手机内存不够用,照片应该怎么处理才能够少占用内存?...
  20. 原生JS 简单购物车网页

热门文章

  1. 2.面经-中移互联网
  2. 遍历文档中的字/词语,并整理其字频和词频
  3. 易错词语,你读对了吗?
  4. Java实现阿里云短信云服务
  5. C语言二维数组中:主次对角线求和,上下三角求和,杨辉三角,矩阵转置
  6. 牛客竞赛-新手上路-语法入门-数组字符串 .c
  7. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理和区块链技术的乘客智能报警系统》案例的界面简介、功能介绍分享之区块链技术
  8. Unity Shaderlab: Object Outlines 转
  9. Vue2【尚硅谷--天禹老师】:Vue核心
  10. echarts饼图多层扇形图