排列组合公式 扳子

转载于熊猫:  http://blog.csdn.net/qq_32734731/article/details/51484729

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <iomanip>
 4 #include <cmath>
 5 #include <cstring>
 6 #include <string>
 7 #include <algorithm>
 8 using namespace std;
 9 long long mod=1000000007;
10 long long qpow(long long x,long long k)
11 {
12     long long res=1;
13     while(k)
14     {
15         if(k & 1)
16         res=res*x%mod;
17         x=x*x%mod;
18         k>>=1;
19     }
20     return res;
21 }
22 long long inv(long long a,long long x)
23 {
24     return qpow(a,x-2);
25 }
26 int ll(int x,int y)
27 {
28     long long t1=1,t2=1;
29     for(int i=x;i>y;i--)
30     {
31         t1=(t1*i)%mod;
32         t2=(t2*(i-y))%mod;
33     }
34     return t1*inv(t2,mod)%mod;
35 }
36 int main()
37 {
38     long long  n,m;
39     while(cin>>n>>m)
40     {
41         int i;
42         long long y=1;
43         int j=1;
44         if(n<m) swap(n,m);
45         cout<<ll(m+n-4,m-2)<<endl;
46     }
47     return 0;
48 }
时间: 2024-11-05 06:08:54

排列组合公式 扳子的相关文章

hdu 1799 (循环多少次?)(排列组合公式)

循环多少次? Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3051    Accepted Submission(s): 1117 Problem Description 我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分.例如, 如果代码中出现 for(i=1;i<=n;i++) OP ; 那么做了n次OP运算

杭电 2200 Eddy&#39;s AC难题 (排列组合 公式)用double来表示64位

Eddy's AC难题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3710    Accepted Submission(s): 1741 Problem Description Eddy是个ACMer,他不仅喜欢做ACM题,而且对于Ranklist中每个人的ac数量也有一定的研究,他在无聊时经常在纸上把Ranklist上每个人的

简明易懂的理解排列组合公式

说实话,我可能无意识中总是感觉自己数学不好,有时自己稍微陌生的数学内容就尽量的逃避,这哪能行,必须要去面对的.我又不是搞数学的研究,咱只是去应用就行了. 下面是知乎降解排列组合公式比较透彻的一个帖子 https://www.zhihu.com/question/26094736

排列组合公式

今天在写一个算法的时候用到了排列组合,突然感觉不熟悉了,于是自己搜索了下, 重新复习下,把笔记记下来,便于以后复习. 第一,排列 1)排列的定义,就是指从给定n个数的元素中取出指定r个数的元素,进行排序 2)排列公式 3 公式解读, 总长度为r,第一个人有n-0种选,第二个有n-1种,,,,最后一个有n-(r-1)种(为什么是减去(r-1) 因为到第r个人的时候,发现自己前面有r-1个人已经消耗了r-1个选择了,自己的选择余地变成n-(r-1),这和第一个人发现前面有0个选择已经消耗是一样道理)

Codeforces 991E. Bus Number (DFS+排列组合)

解题思路 将每个数字出现的次数存在一个数组num[]中(与顺序无关). 将出现过的数字i从1到num[i]遍历.(i from 0 to 9) 得到要使用的数字次数数组a[]. 对于每一种a使用排列组合公式: ? ans += 上面那个公式.(每用一次这个公式对应一个a) 排列组合公式注解 减号左边表示的是sum个数字全排列并去重. 减号右边表示的是从a[0]中选出一个0当做第一个数字,并对其他数字全排列并去重. 抱歉,写的可能比较混乱,还有部分细节需要读者处理. 代码 #include<bit

排列组合的一些公式及推导

排列数公式 \[A_n^m=n(n-1)(n-2)\cdots(n-m+1)=\frac{n!}{(n-m)!}\] (规定\(0!=1\)) 推导:把\(n\)个不同的元素任选\(m\)个排序,按计数原理分步进行: 取第一个:有\(n\)种取法: 取第二个:有\((n-1)\)种取法: 取第三个:有\((n-2)\)种取法:? -- 取第\(m\)个:有\((n-m+1)\)种取法: -- 最后一步,取最后一个:有\(1\)种取法. 根据分步乘法原理,得出上述公式. 组合数公式 \[C_n^m

排列组合问题之圆形分布

1.问题1.1 团团坐有一张圆桌,坐了A,B,C,D四个人,已知,D在A的右边,C在D的对面,请问A,B,C,D,的坐次? 解答:这个问题相对简单,我们纸上画一画,就能画出他们的可能的位置了 但是,可能还有一种解,比如我们把A,B,C,D依次右转一个位,也是满足条件的,而且只要保持他们的相对位置不变,依次右转n个位都是问题的解,而且还有个有趣的事情,当他们转了一圈(即右转4个位)后,他们右回到原位了 2.圆形分布上面这个问题就是一种圆形分布,那么他和直线分布的区别在哪里呢?又有什么联系呢?上面文

【noi 2.6_9288】&amp;【hdu 1133】Buy the Ticket(DP / 排列组合 Catalan+高精度)

题意:有m个人有一张50元的纸币,n个人有一张100元的纸币.他们要在一个原始存金为0元的售票处买一张50元的票,问一共有几种方案数. 解法:(学习了他人的推导后~) 1.Catalan数的应用7的变形.(推荐阅读:http://www.cnblogs.com/chenhuan001/p/5157133.html).P.S.不知我之前自己推出的公式“C(n,m)*C(2*m,m)/(m+1)*P(n,n)*P(m,m)”是否是正确的. (1)在不考虑m人和n人本身组内的排列时,总方案数为C(m+

Codeforces Gym 100187D D. Holidays 排列组合

D. Holidays Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100187/problem/D Description Everyone knows that the battle of Endor is just a myth fabled by George Lucas for promotion of his movie. Actually, no battle of Endor has