立方数(清北学堂济南刷题冲刺)
立方数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;
}
立方数(清北学堂济南刷题冲刺)相关推荐
- 【清北学堂济南刷题班】集合
集合 [问题描述] 给定一个可重集合,一开始只有一个元素0 .然后你可以操作若干轮,每一 轮,你需要对于集合中的每个元素 x 进行如下三种操作之一: 1.将 x 变为 x +1. 2 .将 x 分裂为 ...
- 2017国庆 济南清北学堂 8天乐
Day 0 想吐槽济南的堵车 大约接近4点从莱芜走的,走高速一个多小时,5点左右就到了济南,但是因为济南的堵车,下班高峰期,用了两个多小时才到了我们的目的地.好不容易到宾馆登记了,mc还要我们开会,8 ...
- 2020清北学堂秋季营感想——Hoarfrost
2020清北学堂秋季营感想 前言:九月三十日放假以后,就马不停蹄地开始了这一次的奥赛培训.原先参加过暑假的提高组腾飞营,当时第一场模拟赛拿了第一,便觉得CSP的题目难度不会很高,普及+/提高-左右的难 ...
- 清明培训 清北学堂 DAY1
今天是李昊老师的讲授~~ 总结了一下今天的内容: 1.高精度算法 (1) 高精度加法 思路:模拟竖式运算 注意:进位 优化:压位 程序代码: #include<iostream> #i ...
- 【十一日记】 清北学堂酱油记
Day 0 五点起床 困~ 喜闻乐见的六点集合 嗯我们出发的时候迟到了四分钟( 06:26 第一次出去怎么多人 啧啧啧 @57的熊孩子们好多啊qwq 十分钟到一中 果然老司机233 嗯 目睹他们放学吃 ...
- 清北学堂 2017-10-07
********今天得了在清北的最高分,有点开心wwwww,mjy爱您! 树 [问题背景] zhx 是二叉查找树大师. [问题描述] 二叉查找树是一种特殊的二叉树(每个节点最多只有两个儿子的树 ...
- 清北学堂(2019 4 28 ) part 1
今天主要用来铺路,打基础 枚举 没什么具体算法讲究,但要考虑更优的暴力枚举方法,例如回文质数,有以下几种思路: 1.挨个枚举自然数,再一起判断是否是回文数和质数,然而一看就不是最优 2.先枚举质数再判 ...
- 清北学堂学习笔记 第一期
Day 1 1.贪心的奇怪方法:调整法 调整法,顾名思义,就是用别的方式进行题目的分析以及证明,例如说luogu的最大乘积.这种题目的主要分析思路为:先考虑一些简单的情况,通过简单的情况来推出一些有用 ...
- 清北刷题冲刺 11-02 a.m
卖书 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...
最新文章
- 英伟达推出Super显卡,老黄再现精准“刀法”,网友:都是被AMD逼的
- 平凡的世界,有感而发
- 【杂谈】从医学专业转行到AI,独立完成项目到获得加州理工大学读研推荐,我如何与有三AI结缘...
- python首行代码import *,from * import * 解析
- 内置类型存储空间(32位机参考)
- 使用pickle模块序列化数据,优化代码
- Linux学习笔记4.4-Linux重定向
- PCL——连接两个点云的字段
- ElasticSearch经验小结 (Based on 5.x)
- 分布式存储引擎OceanBase,UpdateServer 实现机制——存储引擎
- Mysql常用操作2
- Julia: h5write ,h5read 与ASCIIString、Float64及效率比较
- 特殊字符保存到SQL数据库的问题
- u盘为什么要安全弹出?丢失的数据怎么恢复?
- Frank Pfenning
- iPhone, iPad, 的Safari书签和阅读列表不同步问题
- gitter 卸载_最佳的Gitter渠道:数据科学和机器学习
- 从360图书馆抓取全球国家的中文名与英文名(requests_html)
- 手机拍的照片计算机内存不足怎么办,手机内存不够用,照片应该怎么处理才能够少占用内存?...
- 原生JS 简单购物车网页
热门文章
- 2.面经-中移互联网
- 遍历文档中的字/词语,并整理其字频和词频
- 易错词语,你读对了吗?
- Java实现阿里云短信云服务
- C语言二维数组中:主次对角线求和,上下三角求和,杨辉三角,矩阵转置
- 牛客竞赛-新手上路-语法入门-数组字符串 .c
- AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理和区块链技术的乘客智能报警系统》案例的界面简介、功能介绍分享之区块链技术
- Unity Shaderlab: Object Outlines 转
- Vue2【尚硅谷--天禹老师】:Vue核心
- echarts饼图多层扇形图