twoNumber

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 2048/1024 K (Java/Others)
Total Submission(s): 675    Accepted Submission(s): 210

Problem Description
小白请你帮个忙,在一大堆杂乱无章的数字中,找出两个丢失的数字。
这堆数字虽然杂乱无章,但是有一个特点,就是没有重复的数字,而且排序后可以首尾相连(不过丢失了两个);
由于数字可能会比较多,所以有一部分数字已经被合并压缩:
1 2 3 4 5
可以表示为数字段[1,5];
 
Input
输入一个n,表示有多少个数字段输入(0< n<1000000)
接下去输入两个数字,分别代表连续区间中最小的数字和最大的数字 (1<= st <= end <= 1000000),当然这个数字可能已经丢失。
接下去输入n行,每行输入2个数字(St,End)(1<= st <= end <= 1000000)。
St代表数字区间的开始,End代表数字区间的末尾。
 
Output
输出缺少的两个数(小的先输出)
数据保证缺少且仅缺少两个不相同的数字。
 
Sample Input
4
1 15
1 3
7 9
4 6
11 14
 
Sample Output
10 15

Hint

HINT: be careful with the memory limit;

 
Source
思路:
 1:前n项和公式:1+2+3+...+n = n*(n+1)/2
2:前n项平方和公式:1^2+2^2+.........+n^2=n*(n+1)*(2n+1)/6
要求的两个数记为a,b;
有:
区间所有数的和可以算出来记为ans1,已给出的区间的和累加到sum1上,ans1-sum1即为要求的两个数的和;即a+b = ans1-sum1;
同理:
区间所有数的平方的和算出来记为ans2,已给出的区间的每一项的平方的和累加到sum2上,ans2-sum2即为要求的两个数的平方的和;则有a^2+b^2
= ans2-sum2;
然后解方程就可以了!
注意:
里面的数得用__int64位存,注意运算过程中的类型转换!
代码:
 #include "stdio.h"
#include "math.h" int main()
{
int n;
__int64 x,y;
__int64 ans1,ans2;
__int64 sum1,sum2;
__int64 t1,t2;
__int64 a,b;
__int64 deta;
while(scanf("%d",&n)!=-)
{
ans1 = ans2 = ;
sum1 = sum2 = ;
scanf("%I64d %I64d",&x,&y);
ans1 = (x+y)*(y-x+)/;
t1 = x*(x-)*(*x-)/;
t2 = y*(y+)*(*y+)/;
ans2 = t2-t1; while(n--)
{
scanf("%I64d %I64d",&x,&y); sum1 += (x+y)*(y-x+)/; t1 = x*(x-)*(*x-)/;
t2 = y*(y+)*(*y+)/;
sum2 += t2-t1;
}
ans1 -= sum1;
ans2 -= sum2;
a = ans1;
b = ans2;
deta = (__int64)sqrt((double)(*b-a*a));
x = (a-deta)/;
y = a - x;
printf("%I64d %I64d\n",x,y);
}
return ;
}

hdu 3064 twoNumber的更多相关文章

  1. hdu 3064

    1:前n项和公式:1+2+3+...+n = n*(n+1)/2 2:前n项平方和公式:1^2+2^2+.........+n^2=n*(n+1)*(2n+1)/6 #include<stdio ...

  2. HDU 5643 King's Game 打表

    King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...

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

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

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

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

  5. hdu 4859 海岸线 Bestcoder Round 1

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

  6. HDU 4569 Special equations(取模)

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

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

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

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

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

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

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

随机推荐

  1. KMP算法详解 --- 彻头彻尾理解KMP算法

    前言 之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k. 但是问题在于如何求出这个最大前后缀长度呢? 我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破, 后来翻看 ...

  2. 加密–RSA前端与后台的加密&解密

    1. 前言 本问是根据网上很多文章的总结得到的. 2. 介绍 RSA加密算法是一种非对称加密算法. 对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法 ...

  3. HTML5表单元素的学习

    本文内容              认识表单              基本元素的使用              表单高级元素的使用              现学现卖--创建用户反馈表单 ★  认识 ...

  4. [CLR via C#]18. Attribute

    attribute可以说是Microsoft .NET Framework提出的最具创意的技术之一了.利用attribute,可以声明性的为自己的代码构造添加注解,从而实现一些特殊的功能.attrib ...

  5. php实现的IMEI限制的短信验证码发送类

    php实现的IMEI限制的短信验证码发送类 <?php class Api_Sms{ const EXPIRE_SEC = 1800; // 过期时间间隔 const RESEND_SEC = ...

  6. Python记录-Pip安装

    1.第一步 下载py文件:https://bootstrap.pypa.io/ez_setup.py #!/usr/bin/env python """ Setuptoo ...

  7. 吉日嘎拉DotNet.BusinessV4.2中的一处bug,及我的修复和扩展

    bug所在位置:DotNet.Business\Utilities\BaseManager.GetDataTableByPage.cs的函数 public virtual DataTable GetD ...

  8. MySQL架构

    一.MySQL逻辑架构         第一层,即最上一层,所包含的服务并不是MySQL所独有的技术.它们都是服务于C/S程序或者是这些程序所需要的 :连接处理,身份验证,安全性等等.         ...

  9. php实现快速排序

    下午练习时候,把经典排序快速排序做了,以下是我的代码 <?php /** * Created by PhpStorm. * User: Administrator * Date: 16-8-29 ...

  10. 深入.NET框架

    .NET是微软公司在2000年推出的一个战略(平台). 其目的就是想 任何人使用任何终端设备在任何地方都可以访问微软提供的服务. .NET Framework两大组件: CLR(Common Lang ...