把所有数的立方因子除去,那么一个数可以和它组成立方的数是确定的,统计就行

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
typedef long long LL;
const int N=1e6+;
const int INF=0x3f3f3f3f;
int vis[N],prime[],cnt;
void getprime(){
bool v[];
memset(v,,sizeof(v));
for(int i=;i*i<=;++i){
if(v[i])continue;
for(int j=i*i;j<=;j+=i)
v[j]=;
}
for(int i=;i<=;++i)
if(!v[i])prime[++cnt]=i;
}
int main(){
int T,n;
getprime();
// printf("%d\n",cnt);
scanf("%d",&T);
while(T--){
memset(vis,,sizeof(vis));
scanf("%d",&n);
LL ans=;
for(int i=;i<=n;++i){
LL t,t1;scanf("%lld",&t),t1=t,t=;
LL aim=;bool flag=;
for(int j=;j<=cnt&&prime[j]<=t1/prime[j];++j){
int tmp=;
while(t1%prime[j]==)t1/=prime[j],++tmp;
if(tmp%==){
t*=prime[j];
aim*=prime[j];
if(aim>N-)flag=;
aim*=prime[j];
if(aim>N-)flag=;
}
else if(tmp%==){
t*=prime[j]*prime[j];
aim*=prime[j];
if(aim>N-)flag=;
}
}
if(!flag){
if(t1>){
t*=t1;
aim*=t1;
if(aim>N-)flag=;
aim*=t1;
if(aim>N-)flag=;
}
if(!flag)ans+=vis[aim];
}
++vis[t];
}
printf("%lld\n",ans);
}
return ;
}

SDUT 3257 Cube Number 简单数学的更多相关文章

  1. SDUT 3258 Square Number 简单数学

    和上一题一样,把平方因子除去,然后对应的数就变成固定的 #include <cstdio> #include <iostream> #include <algorithm ...

  2. 计蒜客 31452 - Supreme Number - [简单数学][2018ICPC沈阳网络预赛K题]

    题目链接:https://nanti.jisuanke.com/t/31452 A prime number (or a prime) is a natural number greater than ...

  3. hdoj--1018--Big Number(简单数学)

    Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  4. HDU 5073 Galaxy (2014 Anshan D简单数学)

    HDU 5073 Galaxy (2014 Anshan D简单数学) 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5073 Description G ...

  5. hdu 4670 Cube number on a tree(点分治)

    Cube number on a tree Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/ ...

  6. 洛谷试炼场-简单数学问题-P1403 [AHOI2005]-因数

    洛谷试炼场-简单数学问题 P1403 [AHOI2005]约数研究 Description 科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机"Samuel I ...

  7. 洛谷试炼场-简单数学问题-P1045 麦森数-高精度快速幂

    洛谷试炼场-简单数学问题 B--P1045 麦森数 Description 形如2^P−1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果PP是个素数,2^P-1 不一定也是素数.到19 ...

  8. 洛谷试炼场-简单数学问题-P1088 火星人

    洛谷试炼场-简单数学问题 A--P1088 火星人 Description 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法 ...

  9. Square Number & Cube Number

    Square Number: Description In mathematics, a square number is an integer that is the square of an in ...

随机推荐

  1. SVM整理

    SVM整理 Last modified: 2015.9.2 1.算法总结 支持向量机是Cortes和Vapnik于1995年首先提出的,它在解决小样本,非线性及高维模式识别中表现出许多特有的优势,并能 ...

  2. UILabel 根据内容的多少来计算label的frame

    self.label.text = @"...."; 计算 frame 的最新方法 //1.设置lable最大显示行数 self.label.numberOfLines = 0; ...

  3. 1020: [SHOI2008]安全的航线flight - BZOJ

    Description在设计航线的时候,安全是一个很重要的问题.首先,最重要的是应采取一切措施确保飞行不会发生任何事故,但同时也需要做好最坏的打算,一旦事故发生,就要确保乘客有尽量高的生还几率.当飞机 ...

  4. Recommender Systems 基于知识的推荐

    前两章的协同过滤和就内容的推荐都建立在“大量数据”的基础上,运用概率方法来进行计算和预测.不过,在现实生活中,有些物品,如:汽车.房屋.计算机,用户不会频繁的消费.如何在这种情况下对用户进行推荐? 这 ...

  5. ural 1250

    有点坑的dfs  看懂题应该就会做了 神圣海必然围成一个圈  dfs将神圣还外围的全部去掉   简单题 #include <cstdio> #include <cstring> ...

  6. properties配置文件中文乱码解决方法

    方法1   properties文件的格式一般为: ROOT=http://localhost:8080/BNCAR2/ ROOTPATH=E:/ws2/BNCAR2/rel/ MALL_PARTS_ ...

  7. JAVA面试题:69道Spring面试题和答案

    目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP) Spring MVC Spring 概述 1. 什么是spri ...

  8. java List 去重(两种方式)

    方法一: 通过Iterator 的remove方法 Java代码  public void testList() { List<Integer> list=new ArrayList< ...

  9. WPF之给使用了模板的MenuItem添加快捷操作

    说在前面: WPF中给按钮或者是具备Command等元素实现快捷键其实是非常简单的,例子如下: <Button Content="_Test" Click="But ...

  10. Git教程之远程仓库(9)

    有个叫GitHub的神奇的网站,呵呵,从名字就可以看出,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库. 由于本地Git仓库和GitHub仓库之 ...