一般做法:

  显然的超内存

#include<stdio.h>
#include<algorithm>
using namespace std;
int a[],ans[];
int main()
{
int t,i,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(i=; i<n; i++)
scanf("%d",&a[i]);
sort(a,a+n);
int j=,tmp=;
a[n++]=;
for(i=; i<n; i++)
{
if(a[i]==a[i-])
{
tmp++;
}
else
{
if(tmp!=)
ans[j++]=a[i-];
//printf("%d\n",tmp);
tmp=;
}
} printf("%d %d\n",ans[],ans[]);
}
return ;
}

正确做法:

  位运算

  计算出 a+b以及a*a+b*b

然后求根求出a 和 b

#include<stdio.h>
#include<string.h>
#include<math.h>
#define eps 1e-8
int b[];
__int64 bb[];
int main()
{
int i,n,t;
scanf("%d",&t);
while(t--)
{
int x;
__int64 xx;
memset(b,,sizeof(b));
memset(bb,,sizeof(bb));
scanf("%d",&n);
for(i=;i<n;i++)
{
scanf("%d",&x);
xx=(__int64)x*x; int k=; while(x>)
{
b[k++]+=x%;
x>>=;
} k=;
while(xx>)
{
bb[k++]+=xx%;
xx>>=(__int64);
}
}
x=;
for(i=;i>=;i--)
{
//printf("%d ",b[i]);
x=(x<<)+b[i]%;
}
//printf("\n%d\n",x);
xx=;
for(i=;i>=;i--)
{
//printf("%lld ",bb[i]);
xx=(xx<<(__int64))+bb[i]%;
}
//printf("\n%I64d\n",xx);//(double)
int abs=sqrt((long double)(*xx-(__int64)x*x))+eps;
printf("%d %d\n",(x-abs)/,(x+abs)/);
}
return ;
}

C++提交

#include<stdio.h>
#include<string.h>
#include<math.h>
#define eps 1e-8
int b[];
__int64 bb[];
int main()
{
int i,n,t;
scanf("%d",&t);
while(t--)
{
int x;
__int64 xx;
memset(b,,sizeof(b));
memset(bb,,sizeof(bb));
scanf("%d",&n);
for(i=;i<n;i++)
{
scanf("%d",&x);
xx=(__int64)x*x; int k=; while(x>)
{
b[k++]+=x%;
x>>=;
} k=;
while(xx>)
{
bb[k++]+=xx%;
xx>>=(__int64);
}
}
x=;
for(i=;i>=;i--)
{
//printf("%d ",b[i]);
x=(x<<)+b[i]%;
}
//printf("\n%d\n",x);
xx=;
for(i=;i>=;i--)
{
//printf("%lld ",bb[i]);
xx=(xx<<(__int64))+bb[i]%;
}
//printf("\n%I64d\n",xx);//(double)
int abs=sqrt((*xx-(__int64)x*x))+eps;//不加(__int64),会WA
printf("%d %d\n",(x-abs)/,(x+abs)/);
}
return ;
}

hdu 3972 1 M possible的更多相关文章

  1. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. 【HDU 3037】Saving Beans Lucas定理模板

    http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...

  3. hdu 4859 海岸线 Bestcoder Round 1

    http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...

  4. HDU 4569 Special equations(取模)

    Special equations Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  5. HDU 4006The kth great number(K大数 +小顶堆)

    The kth great number Time Limit:1000MS     Memory Limit:65768KB     64bit IO Format:%I64d & %I64 ...

  6. HDU 1796How many integers can you find(容斥原理)

    How many integers can you find Time Limit:5000MS     Memory Limit:32768KB     64bit IO Format:%I64d ...

  7. hdu 4481 Time travel(高斯求期望)(转)

    (转)http://blog.csdn.net/u013081425/article/details/39240021 http://acm.hdu.edu.cn/showproblem.php?pi ...

  8. HDU 3791二叉搜索树解题(解题报告)

    1.题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=3791 2.参考解题 http://blog.csdn.net/u013447865/articl ...

  9. hdu 4329

    problem:http://acm.hdu.edu.cn/showproblem.php?pid=4329 题意:模拟  a.     p(r)=   R'/i   rel(r)=(1||0)  R ...

随机推荐

  1. WPF中XAML转义字符

    字符 转义字符 备注 & (ampersand) & 这个没什么特别的,几乎所有的地方都需要使用转义字符 > (greater-than character) > 在属性( ...

  2. TCP之Socket的编程

    Socket是网络编程的一个抽象的概念,通常我们用Socket来表示服务器与客户端间的网络连接, 即用Socket表示"打开了一个网络连接", 而打开一个网络连接需要知道目标电脑的 ...

  3. TClientDataSet中关于TField、TFieldDef动态创立字段的应用

    //使用 TFieldDef 建表: begin with ClientDataSet1.FieldDefs do begin Add('Name' , ftString, 12, True); { ...

  4. openerp经典收藏 深入理解对象(转载)

    深入理解对象(转载) 原文地址:http://shine-it.net/index.php/topic,2159.0.htmlhttp://blog.sina.com.cn/s/blog_57ded9 ...

  5. js执行上下文(由浅入深)

    每一个函数都有自己的执行上下文EC(执行环境 execution context),并且每个执行上下文中都有它自己的变量对象VO(Variable object),用于存储执行上下文中的变量 .函数声 ...

  6. Linux 批量解压gz包

    [root@yoon export]# vi gunzip.sh !/bin/bashpath=/export/backup ----备份文件目录路径 for i in `ls ${path}/*`d ...

  7. linux总线、设备和设备驱动的关系

    之一:bus_type 总线是处理器和一个或多个设备之间的通道,在设备模型中,所有的设备都通过总线相连,甚至是内部的虚拟"platform"总线.可以通过ls -l /sys/bu ...

  8. 点击图标 标记为星标记事mac中修改默认的apache网站根目录位置

    在Mac OS X中可以很方便的通过开启“Web共享”启用Apache服务:设置方法如下: 打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -&g ...

  9. iOS 进阶 第十一天(0411)

    0411 UItaBbar的结构 每一个数组都有一个方法,那就是下面这个,如下图所示: 如果想看系统控件是怎么构成的,那么就采用遍历其子控件的方式来做,如上一图中所示 在iOS7及其以后的系统里,控制 ...

  10. 【BZOJ 1068】[SCOI2007]压缩

    Description 给 一个由小写字母组成的字符串,我们可以用一种简单的方法来压缩其中的重复信息.压缩后的字符串除了小写字母外还可以(但不必)包含大写字母R与M,其中M 标记重复串的开始,R重复从 ...