hdu 4927 组合+公式
来源:互联网 发布:淘宝苏宁卡可以用么 编辑:程序博客网 时间:2024/05/29 18:02
http://acm.hdu.edu.cn/showproblem.php?pid=4927
给定一个长度为n的序列a,每次生成一个新的序列,长度为n-1,新序列b中bi=ai+1−ai,直到序列长度为1.输出最后的数。
n有3000果断用大数,类似杨辉三角推出每个数对最终结果的贡献,利用公式:c[n][m] = c[n][m-1]*(n-m+1)/m防超时
import java.math.BigInteger;import java.util.*;public class Main{ public static void main(String args[]) { Scanner cin = new Scanner(System.in); int _ = cin.nextInt(); BigInteger[] t = new BigInteger[3005]; while(true) { if(_==0) break; _--; int n = cin.nextInt(); for(int i = 1;i <= n;++i) t[i] = cin.nextBigInteger(); BigInteger ans = BigInteger.ZERO; BigInteger s = BigInteger.ONE; int flag = n%2; for(int i = 1;i <= n;++i){ if(i%2 == flag) ans = ans.add(s.multiply(t[i])); else ans = ans.subtract(s.multiply(t[i])); s = s.multiply(BigInteger.valueOf(n - i)).divide(BigInteger.valueOf(i)); } System.out.println(ans); } }}
0 0
- hdu 4927 组合+公式
- hdu 4927 Series 1(组合+公式)
- HDOJ(HDU) 2519 新生晚会(组合公式)
- 组合公式
- 组合公式
- hdu 1018 big number (有个组合公式)
- 排序公式 与 组合公式
- 排列、组合公式
- 组合数求解公式
- HDU1799-组合公式变形
- 买水果-组合公式
- 组合数公式
- hdu4489 组合公式+dp
- POJ1306Combinations(组合数公式)
- POJ1306(组合数公式)
- 排列与组合公式
- Chess(组合数公式)
- HDU 4869 Turn the pokers(思维+组合公式+快速幂)
- Curl 及 Curl的使用介绍
- 策略模式随记
- c语言数组与字符串
- oracle的局域网连接和配置
- 浅谈quickLook
- hdu 4927 组合+公式
- 将intellij idea的libs与libs_source绑定起来
- 苹果UDID(uniqueIdentifier)的替代方案
- 自己设定的一种文件格式 PackageFile (Version 1.10)
- Linux设置添加MySQL Apache为系统服务并开机启动
- 关于Samsung Exynos 5420 Arndale octa board的HDMI外接显示屏问题。
- 如何实现程序的重新启动(windows环境下)
- xml系列(三)------DOM解析
- spring+velocity+javamail发送模板邮件