51nod 1119【杨辉三角】
思路: 
= =杨辉三角的应用,组合数的应用; 
C(N+M,N); 
逆元一发,费马小定理,OK。
#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
typedef long long LL;
const LL mod=1e9+7;
LL cal(LL g,LL x)
{
    LL ans=1;
    while(g)
    {
        if(g%2)
            ans=(ans*x)%mod;
        x=(x*x)%mod;
        g>>=1;
    }
    return ans;
}
//C(N+M,N);
/*
(N+M)!
------
N!*M!
*/
LL dp[2000010];
void Init()
{
    dp[1]=1;
    for(LL i=2;i<=2000010;i++)
        dp[i]=(dp[i-1]*i)%mod;
}
int main()
{
    LL n,m;
    Init();
    scanf("%lld%lld",&m,&n);
    LL ans;
    ans=dp[n+m-2]*cal(mod-2,dp[n-1])%mod*cal(mod-2,dp[m-1])%mod;
    printf("%lld",ans);
    return 0;
}
51nod 1119【杨辉三角】的更多相关文章
- 51nod 1118 机器人走方格 解题思路:动态规划 & 1119 机器人走方格 V2 解题思路:根据杨辉三角转化问题为组合数和求逆元问题
		
51nod 1118 机器人走方格: 思路:这是一道简单题,很容易就看出用动态规划扫一遍就可以得到结果, 时间复杂度O(m*n).运算量1000*1000 = 1000000,很明显不会超时. 递推式 ...
 - 51nod 1031+斐波那契和杨辉三角的一些基础知识
		
直接斐波那契... #include<stdio.h> #include<queue> #include<string.h> #include<iostrea ...
 - [LeetCode] Pascal's Triangle II 杨辉三角之二
		
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3, ...
 - [LeetCode] Pascal's Triangle 杨辉三角
		
Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Retur ...
 - POJ2167Irrelevant Elements[唯一分解定理 组合数 杨辉三角]
		
Irrelevant Elements Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 2407 Accepted: 59 ...
 - python生成器实现杨辉三角
		
def triangels(): """ 杨辉三角 """ lst = [1] n_count = 2 # 下一行列表长度 while Tr ...
 - python 生成器生成杨辉三角
		
用Python写趣味程序感觉屌屌的,停不下来 #生成器生成展示杨辉三角 #原理是在一个2维数组里展示杨辉三角,空的地方用0,输出时,转化为' ' def yang(line): n,leng=0,2* ...
 - HDNOIP201405杨辉三角
		
2016.1.27 试题描述 杨辉三角是形如如下的数字三角形: 1 1 1 1 2 1 …… 现在想求出杨辉三角第N行的N个数中,有多少个数能被给定的质数p整除. 输入 一行两个空格隔 ...
 - Java的二维数组的应用及杨辉三角的编写
		
(1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个 ...
 
随机推荐
- Solidworks如何绘制标准螺纹线
			
1 绘制螺旋线,螺距为0.5mm,圈数为15,起始角度为0°. 2
 - 一个TAB的jquery简单写法2
			
<style> .honver{ color:red;} </style><script src="jquery-1.9.0.min.js">& ...
 - Elasticsearch 学习笔记 Elasticsearch及Elasticsearch head安装配置
			
一.安装与配置 1.到官网下载Elasticsearch,https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6. ...
 - addEventListener event
			
addEventListener 先看个例子: document.getElementById("myBtn").addEventListener("click&qu ...
 - Spark 学习笔记:(三)Spark SQL
			
参考:https://spark.apache.org/docs/latest/sql-programming-guide.html#overview http://www.csdn.net/arti ...
 - MapReduce算法形式六:只有Map独自作战
			
案例六:Map独自直接输出 之前一直没有用过这个map独自输出的模式,就算是输出一些简单的我也会经过一次reduce输出,但是,发现这个map输出的结果跟我预想的有点不一样,我一直以为shuffle的 ...
 - 在安卓6.0(及以上)设备上无法获取无线网卡MAC地址的解决方案
			
在安卓6.0以下的设备上,通过WifiManager.getConnectionInfo().getMacAddress()即可获取WLAN物理地址, 而在6.0及以上,以此方式获取到的MAC地址为固 ...
 - Android Studio解决导入项目非常慢
			
Android Studio比Eclipse ADT有巨大的优势.Android Studio原生支持使用Gradle来构建项目,使用动态语言Groovy定义项目构建的过程,避免了build.xml文 ...
 - iOS开发UIScrollView常见属性和方法
			
一.ScrollView常用方法和属性 @property(nonatomic)CGPoint contentOffset; 设置滚动的偏移量 @property(nonatomic)CGSize c ...
 - CentOS7 安装和配置 mysql5.7
			
1.下载 mysql源安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 2.安装mysql源 ...