標籤:
Series 1
舉幾個例子發現, 係數中間對稱,很容易想到組合數 c(n,m)==c[n,n-m).此題就是高精度求組合數,java秒之。
time:1825ms ,接近時限,如果n還稍微大一點就逾時。
1 import java.math.*; 2 import java.util.*; 3 import java.io.*; 4 import java.text.*; 5 6 public class Main 7 { 8 static int MS=3005; 9 public static void main(String[] args)10 {11 Scanner cin=new Scanner(new BufferedInputStream(System.in));12 int[] a=new int[MS];13 int T,n;14 T=cin.nextInt();15 while(T-->0)16 {17 n=cin.nextInt();18 for(int i=0;i<n;i++)19 a[i]=cin.nextInt();20 BigInteger ans=BigInteger.valueOf(a[n-1]);21 BigInteger res=BigInteger.ONE;22 BigInteger flag=BigInteger.valueOf(-1);23 BigInteger t=BigInteger.ONE;24 n=n-1;25 for(int i=1,j=n;i<=n;i++,j--)26 {27 res=res.multiply(BigInteger.valueOf(j)).divide(BigInteger.valueOf(i));28 t=res.multiply(flag).multiply(BigInteger.valueOf(a[j-1]));29 flag=flag.multiply(BigInteger.valueOf(-1));30 ans=ans.add(t);31 }32 System.out.println(ans);33 }34 cin.close();35 }36 }
Series 1 java秒組合數