HDU 4927 Series 1(高精度+杨辉三角)
2024-10-11 04:14:21
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4927
解题报告:对于n,结果如下:
C(0,n-1) *A[n] - C(1,n-1) * A[n-1] + C(2,n-1) * A[n-2] - C(3,n-1) * A[n-3] ....... C(n-1,n-1) * A[1];
n <= 3000,到了后面二项式会很大,因为要用到高精度的乘法和除法,所以直接用java的大数类写了,简单多了。
import java.math.BigInteger;
import java.util.*; public class Main
{
public static BigInteger ans,a,b,flag,temp;
public static BigInteger[] A = new BigInteger[3005];
public static void main(String[] argv)
{ Scanner input = new Scanner(System.in);
int T,n;
T = input.nextInt();
for(int t = 0;t < T;++t)
{
n = input.nextInt();
ans = ans.valueOf(0);
a = a.valueOf(1);
b = a;
for(int i = 1;i <= n;++i)
{
A[i] = input.nextBigInteger();
A[i] = A[i].multiply(a);
a = a.multiply(a.valueOf(n-i));
a = a.divide(a.valueOf(i));
}
flag = flag.valueOf(1);
for(int i = n;i >= 1;--i)
{
A[i] = A[i].multiply(flag);
ans = ans.add(A[i]);
flag = flag.multiply(flag.valueOf(-1));
}
System.out.println(ans);
}
}
}
最新文章
- java通过文件路径读取该路径下的所有文件并将其放入list中
- js中块级作用域
- 【分享】学长的安利来了~~O(∩_∩)O
- char*和char []
- jar包里查找指定的class文件,排查是否存在或重复,工具软件:Java Class Finder
- C# 数组CopyTo
- 【Spark学习】使用Maven创建Spark
- 隐藏gvim中的工具栏和菜单栏
- Linux Kernel basics
- hdu&;&;poj搜索题题号
- ios xcode中所有自带的字体如下(最好结合NSMutableAttributedString相结合使用)
- asp.net权限认证:HTTP基本认证(http basic)
- MySQL监听数据库存储过程出现异常
- zoj3961(区间问题)
- Visual Studio 2015 无法命中断点
- Exp5 MSF基础应用
- centos7生产环境下openssh升级
- SyntaxHighlighter行号显示错误问题解决方案
- [ci]jenkins构建容器项目java-helloworld-非docker plugin模式
- 【转载】eclipse常用插件在线安装地址或下载地址
热门文章
- Objective-C学习笔记之block
- FIFA halts 2026 bids amid scandal 国际足联在丑闻期间停止2026年足球世界杯申请
- HIbernate的写法总结
- centos&#39;的yum安装php的memcache扩展
- MySQL学习笔记——索引和视图
- php函数ob_start()、ob_end_clean()、ob_get_contents()
- c++模板类
- C++中dynamic_cas操作符的工作原理
- vim tab 中设置title
- OC-内存管理-基本原理与引用计数器