HDU5047Sawtooth(java大数)

题目链接

题目大意:在一个矩形内画n个“M”。问如何画可以把这个矩形分成最多的区域。

给出这个区域的数目。

解题思路:最好的方式就是每条新画的“M”的线都和原来已经有的线相交,这样能够发现ai = ai - 1 + (i - 1)
∗
4 ∗
4 + 1.画一下就能够发现每次一条新的边和原有的边相交就会多出4个区域出来。

最后还会有一个小角区域多出来。最后公式:ai = a0 + 8
i i - 7 * i。a0 = 1;要用大数,而且这题大数的输入输出还要用快点的(带buffered),不然会TLE。

代码:

import java.util.*;
import java.io.*;
import java.math.*; public class Main { public static void main(String args[]) { Scanner cin = new Scanner(new BufferedInputStream(System.in));
PrintWriter cout = new PrintWriter(new BufferedOutputStream(System.out));//读入输出的速度都比較快 int T;
T = cin.nextInt();
BigInteger n; for (int i = 1; i <= T; i++) { n = cin.nextBigInteger();
BigInteger a = BigInteger.valueOf(1);
BigInteger ans = BigInteger.valueOf(8).multiply(n).multiply(n).subtract(BigInteger.valueOf(7).multiply(n)).add(a); cout.printf("Case #%d: ", i);
cout.println(ans);
}
cin.close();
cout.close();
}
}

HDU5047Sawtooth(java大数)的更多相关文章

  1. java大数

    java大数还是很好用的! 基本加入: import java.math.BigInteger; import jave.math.BigDecimal; 分别是大数和大浮点数. 首先读入可以用: S ...

  2. JAVA大数运算

    java大数是个好东西,用起来方便,代码短. 代码如下: import java.util.*; import java.math.*; public class Main { public stat ...

  3. java大数总结【转】

    java大数(2013长春网络赛)--hdu4762总结一下:1.java提交类要写Main.2.读取大数. Scanner read=new Scanner(System.in); BigInteg ...

  4. JAVA大数类

    JAVA大数类api http://man.ddvip.com/program/java_api_zh/java/math/BigInteger.html#method_summary 不仅仅只能查J ...

  5. HDU4762(JAVA大数)

    Cut the Cake Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  6. ZOJ3477&JAVA大数类

    转:http://blog.csdn.net/sunkun2013/article/details/11822927 import java.util.*; import java.math.BigI ...

  7. 多校第五场 归并排序+暴力矩阵乘+模拟+java大数&amp;记忆化递归

    HDU 4911 Inversion 考点:归并排序 思路:这题呀比赛的时候忘了知道能够用归并排序算出逆序数,可是忘了归并排序的实质了.然后不会做-- 由于看到题上说是相邻的两个数才干交换的时候.感觉 ...

  8. 收藏的一段关于java大数运算的代码

    收藏的一段关于java大数运算的代码: package study_02.number; import java.math.BigDecimal; import java.math.BigIntege ...

  9. java大数判断相等

    java大数判断相等: 1.equals()方法2.compareTo()方法区别:2.00与2.0 equals()方法判断不等,compareTo()方法判断相等,科学的说法可以看java api ...

随机推荐

  1. Dice (III) 概率dp

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

  2. 【python】二进制、八进制、十六进制表示方法(3.0以上)

    2进制是以0b开头的: 例如: 0b11 则表示十进制的3 8进制是以0o开头的: 例如: 0o11则表示十进制的9 (与2.0版本有区别) 16进制是以0x开头的: 例如: 0x11则表示十进制的1 ...

  3. mac os x 10.9.1 安装 Homebrew软件包管理工具及brew安装maven3.1.1

    Mac OSX上的软件包管理工具,安装软件或者卸载软件. 打开终端输入(如不行,可参考homebrew官网): ruby -e "$(curl -fsSL https://raw.githu ...

  4. 2016030101 - ubuntu15.1上安装git客户端

    使用ubutun15.1安装git客户端. 根据git官网提示内容(参考http://git-scm.com/download/linux) 1.使用命令:sudo apt-get install g ...

  5. Flyer

    hdu4768:http://acm.hdu.edu.cn/showproblem.php?pid=4768 题意:给你1--2^32个位置,然后有m个操作,每次操作给你3个数 a,b,c,然后在a, ...

  6. 在XP系统中自带的 msvcrt.dll 和 Vista 中的 msvcrt.dll 版本不同,导致抛出的异常不同

    然而,在XP系统中,系统自带的 msvcrt.dll 和 Vista 中的 msvcrt.dll 版本不同, 并没有这个 _except_handler4_common ,结果就出现了启动程序时,遇到 ...

  7. sublime sftp 插件安装及破解

    必备插件sftp: 1,Package Control可以用来install其他package 2,sftp远程编辑文件:安装:install->sftp具体配置 sftp工具破解     1, ...

  8. 短信验证码js实现

    短信验证码实现 我们在使用移动.电信等运营商网上营业厅的时候,为确保业务的完整和正确性,经常会需要用到短信的验证码.最近因为某省业务需要,也做了个类似的功能. 原理很简单,就是在用户点击"获 ...

  9. 从 mian 函数开始一步一步分析 nginx 执行流程(三)

    如不做特殊说明,本博客所使用的 nginx 源码版本是 1.0.14,[] 中是代码所在的文件! 这一节我们分析ngx_start_worker_processes(),该函数代码比较少,因为它通过调 ...

  10. 【转】Android Fragment 基本介绍--不错

    原文网址:http://www.cnblogs.com/mengdd/archive/2013/01/08/2851368.html Fragment Android是在Android 3.0 (AP ...