最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

洛谷競賽題目講解_P1641(排列組合 + 整數乘法逆元)

2022-10-20 10:46 作者:Clayton_Zhou  | 我要投稿

AC代碼

https://www.luogu.com.cn/record/90637978

題意:

把n個1和m個0組成字符串,但是任務還要求在組成的字符串中,在任意的前k個字符中,

1的個數不能少于0的個數。 求符合條件字符串 個數。

題解:

排列組合 + 整數乘法逆元

可以考慮把1的個數與0的個數的和看成x坐標,

1的個數與0的個數的差看成y坐標 :


向右上走(x坐標加1,y坐標加1)就表示這個字符選擇1。

向右下走(x坐標加1,y坐標減1)就表示這個字符選擇0。

這樣子,如果不考慮限制條件,就表示從(0,0)走n+m步到達(n+m,n-m),

這相當于從n+m步中選出m步向右下走,也就是組合數C(n+m,m)。

考慮限制條件,任意前綴中1的個數不少于0的個數,也就是這條路徑不能經過直線y=-1。

可以通過對稱性發(fā)現,從(0,0)走到直線y=-1上的一點,相當于從(-2, 0)走到該點。

也就是說,路徑經過直線y=-1的方案數就是從(-2, 0)走n+m步到達(n+m,n-m),

這個方案數可以用組合數表示為C(n+m,m-1),? 右下走的步數減一


洛谷競賽題目講解_P1641(排列組合 + 整數乘法逆元)的評論 (共 條)

分享到微博請遵守國家法律
嘉荫县| 金湖县| 固安县| 灯塔市| 伊春市| 浪卡子县| 大关县| 汉中市| 湟中县| 石河子市| 泸水县| 广南县| 靖西县| 宾阳县| 泌阳县| 宜兴市| 思茅市| 屯昌县| 丽江市| 睢宁县| 新邵县| 陈巴尔虎旗| 庆元县| 定兴县| 罗甸县| 都昌县| 泾源县| 襄城县| 阆中市| 佛冈县| 西乌珠穆沁旗| 澳门| 张家港市| 通化市| 香港| 北碚区| 大同市| 出国| 罗源县| 营山县| 天等县|