日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蓝桥杯-组合公式求值(java)

發布時間:2025/3/20 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蓝桥杯-组合公式求值(java) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
算法提高 組合公式求值 時間限制:1.0s 內存限制:256.0MB問題描述給定n, m,求:輸入格式輸入一行,包含兩個整數n, m。輸出格式輸出一行,包含求得的值,由于答案可能非常大,請輸出此公式除以987654321的余數。樣例輸入3 1樣例輸出162數據規模和約定1<=m<=n<=10^7。 package com.sihai.improve;import java.math.BigInteger; import java.util.Scanner; class Number { long x,y,dd; /** * @param x * @param y * @param dd */ public Number(long x, long y, long dd) { super(); this.x = x; this.y = y; this.dd = dd; } public Number() { super(); } } public class Main { static BigInteger n, m; static int k; static long monum = 999101; static BigInteger mobig = new BigInteger("999101"); static BigInteger big2 = new BigInteger("2"); static long ansnum1,ans; static long dp[][], bignum[], subnum[]; static long fact[]; private static Number gcd(long a,long b) { if (b==0) return new Number(1,0,a); Number number=gcd(b, a%b); long x=number.y; long y=number.x-(a/b)*number.y; long dd=number.dd; return new Number(x,y,dd); } private static long mod_inverse(long num) { if (num==0) return 0; Number number=gcd(num, monum); long x=(number.x+monum)%monum; return x; } private static long cal(BigInteger num) { if (num.equals(BigInteger.ZERO)) return 1; if (num.equals(BigInteger.ONE)) return 2; long mnum = cal(num.divide(big2)); mnum = mnum*mnum%monum; BigInteger mo = num.mod(big2); if (mo.equals(BigInteger.ONE)) mnum=mnum*2%monum; return mnum; } private static void init() { fact = new long[(int) (monum + 1)]; fact[0] = 1; for (int i = 1; i <= monum; i++) fact[i]=(fact[i-1]*(long)i)%monum; } private static long calc(int n,int m) { if (n<m) return 0; long mo=fact[m]*fact[n-m]%monum; long divnum=mod_inverse(mo); long res=fact[n]*divnum%monum; return res; } private static long lucas(BigInteger n,BigInteger m){ if (m.equals(BigInteger.ZERO)) return 1; int nmo=n.mod(mobig).intValue(); int mmo=m.mod(mobig).intValue(); return calc(nmo, mmo)*lucas(n.divide(mobig),m.divide(mobig))%monum; } public static void main(String[] args) { // TODO Auto-generated method stub Scanner reader = new Scanner(System.in); n = reader.nextBigInteger(); m = reader.nextBigInteger(); k = reader.nextInt(); BigInteger kbig=new BigInteger(String.valueOf(k)); dp = new long[k + 1][k + 1]; dp[0][0]=1; long mon=n.mod(mobig).longValue(); for (int i = 0; i <= k - 1; i++) for (int j = 0; j <= i; j++) { dp[i + 1][j] = (dp[i+1][j]+(long)j*dp[i][j])%monum; dp[i + 1][j + 1] =(dp[i+1][j+1]+(long)(mon-j+monum)*dp[i][j])%monum; } long mulnum =cal(n.subtract(kbig)); for (int i = k; i >= 0; i--) { ansnum1 =(ansnum1+dp[k][i]*mulnum)%monum; mulnum = (mulnum*2)%monum; } init(); ans=ansnum1*lucas(n, m)%monum; System.out.println(ans); } }

總結

以上是生活随笔為你收集整理的蓝桥杯-组合公式求值(java)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 嫩草视频网站 | 动漫美女露胸网站 | 国产片一区二区三区 | 国产原创视频在线观看 | 五月情婷婷 | 色小姐av| 亚洲精品久久 | 国产做爰高潮呻吟视频 | 欧美国产日韩在线观看成人 | 青草视频在线观看视频 | 香蕉伊人 | 成人在线手机视频 | 红猫大本营在线观看的 | 色先锋av资源 | 久久久久久久999 | 日韩成人小视频 | 亚洲视频一二三四 | 大胸喷奶水www视频妖精网站 | 亚洲砖区区免费 | 欧美手机在线观看 | 色香av| 国产亚洲一区二区三区四区 | 黄色免费播放 | 日本午夜精品理论片a级app发布 | 成人动态视频 | 欧美精品91 | 无码人妻一区二区三区av | 日韩黄色片子 | 国产大尺度视频 | 日本免费黄色大片 | 久草国产视频 | 久久久久久色 | 经典三级av在线 | 北条麻妃一区二区三区四区五区 | 国产91精品久久久久久久网曝门 | 欧美精品韩国精品 | 四虎影院www| 欧美妞干网 | 国产热 | 双腿张开被9个男人调教 | 精品乱码一区二区三区 | 日韩一区二区不卡 | 久久精品久久国产 | 人妻久久一区二区 | 亚洲一区精品视频 | 日韩中文在线视频 | 操极品女神 | 亚洲一区二区三区在线 | 99成人 | 小宵虎南在线观看 | 老外毛片 | 国产精品久久久精品 | 天天天干 | 无码精品一区二区免费 | 国产女人水真多18毛片18精品 | 五月情网 | 色片在线免费观看 | 一卡二卡国产 | 国产v亚洲| 欧美h视频在线观看 | 久久麻豆精品 | 99精品人妻无码专区在线视频区 | 色综合免费 | 亚州av免费 | 超碰色偷偷 | 亚洲图片中文字幕 | 日日操日日操 | 日本人妻伦在线中文字幕 | 亚洲精品在线视频观看 | 国产性猛交xxxx免费看久久 | 精品久久人人妻人人做人人 | 日本加勒比一区 | 无码精品在线观看 | 日本乱码一区 | 欧美巨乳美女 | 妺妺窝人体色WWW精品 | 一级坐爱片 | 免费av观看网站 | 国产一区二区精品 | 性xxxx18| 91女人18毛片水多国产 | 国产精品变态另类虐交 | 欧美美女网站 | 婷婷精品在线 | xxx69美国| 好av| 欧美.www | 在线射 | 欧美成人精品一区二区 | 国产片久久 | 狠狠插av | 午夜伊人网 | 蜜桃久久av一区 | jizzjizz视频| 国产又粗又猛视频 | av在线播放国产 | av在线毛片 | 欧美| 色八戒av|