Regionals 2015 Asia - Daejeon acmliveoj7233 - Polynomial
来源:互联网 发布:学php去哪 编辑:程序博客网 时间:2024/05/21 02:53
点击打开链接
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.PrintWriter;import java.math.BigInteger;import java.util.Scanner;public class Main {public static void main(String[] args) {new H().run();}}class H {void run() {Scanner cin = new Scanner(new BufferedInputStream(System.in));PrintWriter cout = new PrintWriter(new BufferedOutputStream(System.out));int T = cin.nextInt() ;while(T-- > 0){ int t = cin.nextInt() ; for(int i = 0 ; i <= t ; i++) c[i] = cin.nextBigInteger() ; for(int d = t+1 ; d >= 1 ; d--){ BigInteger rightSum = BigInteger.ZERO ; for(int it_right = t ; it_right >= d-1 ; it_right--){ rightSum = rightSum.add( c[it_right].multiply(C[it_right][d-1]) ) ; } FenShu rightFenshu = new FenShu(rightSum , BigInteger.ONE) ; for(int it_left = t+1 ; it_left >= d+1 ; it_left--){ FenShu nowFenshu = new FenShu(a[it_left].multiply(C[it_left][d-1]) , b[it_left] ) ; rightFenshu = rightFenshu.sub(nowFenshu) ; } FenShu abD = rightFenshu.mult(new FenShu(BigInteger.ONE , C[d][d-1] ) ) ; a[d] = abD.fenzi ; b[d] = abD.fenmu ; } a[0] = c[0] ; BigInteger sum = BigInteger.ZERO ; for(int i = 0 ; i <= t+1 ; i++) sum = sum.add(a[i].abs()) ; cout.println(sum) ;}cout.flush();}final int N = 55;BigInteger[] a = new BigInteger[N] ;BigInteger[] b = new BigInteger[N] ;BigInteger[] c = new BigInteger[N] ;BigInteger[][] C = new BigInteger[N][N];{C[0][0] = BigInteger.ONE;for (int i = 1; i < N; i++) {C[i][0] = C[i][i] = BigInteger.ONE;for (int j = 1; j < i; j++)C[i][j] = C[i - 1][j - 1].add( C[i - 1][j] );}}}class FenShu {BigInteger fenzi;BigInteger fenmu;FenShu(BigInteger zi, BigInteger mu) {BigInteger gcd = zi.gcd(mu) ;fenzi = zi.divide(gcd);fenmu = mu.divide(gcd);}FenShu sub(FenShu other) {BigInteger mu = fenmu.multiply(other.fenmu) ;BigInteger zi = (fenzi.multiply(other.fenmu)).subtract( fenmu.multiply(other.fenzi) ) ;return new FenShu(zi, mu);}FenShu mult(FenShu other) {BigInteger mu = fenmu.multiply(other.fenmu);BigInteger zi = fenzi.multiply(other.fenzi);return new FenShu(zi, mu);}}
0 0
- Regionals 2015 Asia - Daejeon acmliveoj7233 - Polynomial
- Regionals 2015 :: Asia - Daejeon A题
- Regionals 2011, Asia - Daejeon
- Regionals 2014 Asia - Daejeon
- Regionals 2013 Asia - Daejeon (部分题目题解)
- ACM 简单DP Pole Arrangement Regionals 2012 >> Asia - Daejeon 区域赛
- Regionals 2015 :: Asia - Taipei 部分题解
- Regionals 2015 >> Asia - EC Final>> Multiplication Table
- Regionals 2011, Asia - Amritapuri
- Regionals 2011, Asia - Phuket
- Regionals 2010, Asia - Amritapuri
- Regionals 2011, Asia - Kanpur
- Regionals 2012 :: Asia - Amritapuri
- [Regionals 2012 :: Asia - Tokyo ]
- Regionals 2014 Asia - Bangkok
- Regionals 2014 Asia - Bangkok
- Regionals 2014 Asia - Anshan
- Regionals 2014 Asia - Xian
- s3c2440-外部中断
- Retrofit 2.0 文件上传类型
- Katana Op for visualization of OpenVDB
- 设计模式之 工厂方法模式(C++实现)
- 牛客网笔记之JAVA运算符
- Regionals 2015 Asia - Daejeon acmliveoj7233 - Polynomial
- 在Struts2中使用ValueStack、ActionContext、ServletContext、request、session等
- QT5.6 编译SQLServer驱动
- win7+python2.7下安装spark
- 我对MVP模式的初步理解
- FreeMarker分页组件监听器
- linux 文件类的命令(整理)
- JS高级技巧学习小结
- 一天一命令 <ls>