果然以前不想搞的东西,今天他妈全来了,我要爆炸,除了说操。。。。真是欲哭无泪啊。。。。。

//这道题目卡在逆元了。。。。

//利用逆元计算1/(n!(m-n)!)

//对于正整数a,m如果有ax≡1(modm),那么把这个同余方程中x的最小正整数解叫做a模m的逆元。

problem1:

//这道题为什么要有乘法逆元呢?

模运算与基本四则运算有些相似,但是除法例外。其规则如下:

若a≡b (% p),则对于任意的c,都有(a + c) ≡ (b + c) (%p);



若a≡b (% p),则对于任意的c,都有(a * c) ≡ (b * c) (%p);



若a≡b (% p),c≡d (% p),则 (a + c) ≡ (b + d) (%p),(a - c) ≡ (b - d) (%p),

(a * c) ≡ (b * d) (%p),(a / c) ≡ (b / d) (%p);

problem2:

怎么求逆元:

//逆元一般用【扩展欧几里得】算法来求得,但是这里的m是素数,那么还可以根据【费马小定理】得到逆元为 a^m-2 mod m。

#include<cstdio>
#include<algorithm>
typedef long long LL;
using namespace std;
const int maxn = 1e6+7;
const int mod = 1e9+7;
long long fac[maxn]; long long qpow(long long a,long long b)
{
long long ans=1;
a%=mod;
while(b)
{
if(b%2)
ans=ans*a%mod;
a=a*a%mod;
b/=2;
}
return ans;
} long long C(long long n,long long m)
{
if(m>n||m<0)return 0;
long long s1=fac[n];
long long s2=fac[n-m]*fac[m]%mod;
// printf("%lld %lld\n",s1,s2);
return s1*qpow(s2,mod-2)%mod;
} int n,m;
int main()
{
fac[0]=1;
for(int i=1;i<maxn;i++)
fac[i]=fac[i-1]*i%mod;
LL a,b;
while(scanf("%d%d",&n,&m)!=EOF)
printf("%lld\n",C(n+m-4,n-2));
}

hdoj5698的更多相关文章

随机推荐

  1. Solidedge如何修改特征的参数

    我已经长出了60MM,现在发现不对,要改成50MM.右击这个特征,点击编辑定义   直接左键单击尺寸,修改数据,按回车,鼠标右键,即可.    

  2. 【Jqurey EasyUI+Asp.net】----DataGrid数据绑定,以及增、删、改(SQL)

    也懒得打其他字了,直接进入主题吧 1.首先,数据表Rex_Test ID int 自增 tName varchar(10) 姓名 tEmail varchar(80) 邮箱 2.至于代码里的Jqure ...

  3. DOM编程 --《高性能JavaScript》

    1.重绘和重排 浏览器下载完页面的所有组件 —— HTML标记,CSS,JavaScript,图片,会解析并生成两个内部数据结构. DOM树 表示页面结构 渲染树(CSS) 表示DOM节点如何显示 当 ...

  4. Ubuntu E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)

    E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它? 不要删掉这些目录!! ...

  5. ruby简单的基础 2

    1.代码块 代码块是用大括号或者do...end括起来的一系列代码.{ #this is a block} do #this is a blockend [1,2,3,4,5].each {|i| p ...

  6. Android图表AChartEngine

    很多时候项目中我们需要对一些统计数据进行绘制表格,更多直观查看报表分析结果.基本有以下几种方法: 1:可以进行android api进行draw这样的话,效率比较低 2:使用开源绘表引擎,这样效率比较 ...

  7. Ajax的简单实现(Json)

    之前写的是一般的Ajax if (request.status === 200) { document.getElementById("createResult").innerHT ...

  8. HDU 6068 Classic Quotation KMP+DP

    Classic Quotation Problem Description When online chatting, we can save what somebody said to form h ...

  9. passive aggressive(pa)和average perceptron(ap)

    passive aggressive(pa)和average perceptron(ap)

  10. 恢复MySQL数据库删除的数据

    在日常运维工作中,对于数据库的备份是至关重要的!数据库对于网站的重要性使得我们对 MySQL 数据库的管理不容有失!然而是人总难免会犯错误,说不定哪天大脑短路了,误操作把数据库给删除了,怎么办? 下面 ...