随笔分类 -  组合数学--组合

摘要:题目链接:https://ac.nowcoder.com/acm/contest/885/G 题意:给定字符串s,t,求s中满足字典序大于t的子序列的个数。 思路:组合数学+dp。当子序列长度大于m时很简单,利用初始化的组合数即可。当子序列长度等于m时类似于数位dp的处理办法,我们用dp[pos][ 阅读全文
posted @ 2019-08-01 17:26 Frank__Chen 阅读(262) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/contest/879/B 题意:题目意思就是求ΣC(n,i)pi(MOD+1-p)n-i (k<=i<=n),这里n,i范围为1e5,要用到逆元求组合数。 AC代码: 阅读全文
posted @ 2019-05-12 14:50 Frank__Chen 阅读(148) 评论(0) 推荐(0)
摘要:题目链接:https://vjudge.net/problem/POJ-1845 题意:求A的B次方的所有因子(包括1)的和对9901的模。 思路:首先对A利用唯一分解定理得A=p1x1*p2x2*...*pnxn,则A^B=p1B*x1*p2B*x2*...*pnB*xn。且其所有因子的和等于: 阅读全文
posted @ 2019-04-18 20:05 Frank__Chen 阅读(436) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem?id=1942 题意:实际上这道题就是求C(n+m,n)。 思路:n、m的范围在unsigned中,所以不能递推计算组合数,可以采用公式C(a,b)=a!/(b!*(a-b)!),并且拆分阶乘依次进行除法运算。我在一个地方TLE了半小时,开始怎 阅读全文
posted @ 2019-04-11 12:58 Frank__Chen 阅读(648) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem;jsessionid=B0D9A01EC0F1043088A37454B6CED469?id=1850 题意:给字符串编号,该字符串必须满足由小写英文字母组成且按字典序升序排列,a编号为1,ab编号为27,输入一字符串,如果满足前面的要求则输出 阅读全文
posted @ 2019-04-10 20:22 Frank__Chen 阅读(174) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem?id=3252 题意:给定s、e,求[s,e]之间的Round Number的个数,RN数为二进制表示中0的个数大于1的个数的数,s、e<=2e9。 思路:计算[s,e]之间的RN数等价于getn(e+1)-getn(s),getn(s)表示[ 阅读全文
posted @ 2019-04-10 19:03 Frank__Chen 阅读(157) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/contest/553/D 题意:求不定方程的正整数解和非负整数解的个数(mod 1e9+7)。 思路:对于正整数解,利用插板法,即在n个1中间的n-1个空隙中插m-1个板子,得到m个数,即有C(n-1,m-1)个。对于非负整数解,即 阅读全文
posted @ 2019-04-07 17:23 Frank__Chen 阅读(230) 评论(0) 推荐(0)
摘要:概率论中的组合数应该比较熟悉吧,在数论中组合数也具有重大意义,下面介绍组合数的解法: 方法一O(n^2): 利用公式(n,m)=(n-1,m-1)+(n-1,m): 模板: 方法二(O(n)): 因为大部分题都有求余,所以我们大可利用逆元的原理(没求余的题目,其实你也可以把MOD自己开的大一点,这样 阅读全文
posted @ 2019-04-07 16:36 Frank__Chen 阅读(416) 评论(0) 推荐(0)
摘要:数论倒数,又称逆元,在数论中很有意义。在数论中取模运算十分普遍,我们知道取模运算有如下性质: (a + b) % p = (a%p + b%p) %p (对) (a - b) % p = (a%p - b%p + p) %p (对) (a * b) % p = (a%p * b%p) %p (对) 阅读全文
posted @ 2019-04-07 16:17 Frank__Chen 阅读(1500) 评论(0) 推荐(1)