• P2265 路边的水沟


    题目背景

    LYQ市有一个巨大的水沟网络,可以近似看成一个n*m的矩形网格,网格的每个格点都安装了闸门,我们将从水沟网络右下角的闸门到左上角的闸门的一条路径称为水流。

    题目描述

    现给定水沟网的长和宽,求该水沟网中所有只包含向左和向上移动的水流数量。

    输入格式

    输入共1行,包含两个整数n和m。

    输出格式

    输出一个数字ans,即水流的数量。由于答案可能很大,请输出答案对1000000007取模的结果。

    输入输出样例

    输入 #1
    3 5
    输出 #1
    56

    说明/提示

    对于30%的数据,1 ≤ m,n ≤ 10。

    对于50%的数据,1 ≤ m,n ≤ 1,000。

    对于80%的数据,1 ≤ m,n ≤ 50,000。

    对于100%的数据,1 ≤ m,n ≤ 1,000,000。

    卢卡斯定理了解一下

    #include<bits/stdc++.h>
    #define ll long long
    #define mod 1000000007
    using namespace std;
    inline ll pow(ll a,ll n,ll p)
    {
        ll ans=1;
        while(n)
        {
            if(n&1)
            ans=ans*a%p;
            a=a*a%p;
            n>>=1;
        }
        return ans;
    } 
    inline ll fm(ll a)
    {
        return pow(a,mod-2,mod);
    }
    inline ll jc(ll x)
    {
        ll ans=1;
        for(int i=2;i<=x;i++)
        {
            ans*=i;
            ans%=mod;
        }
        return ans;
    }
    ll c(ll a,ll b)
    {
        return (((jc(b)%mod*fm(jc(a))%mod)%mod)*fm(jc(b-a))%mod);
    }
    int main()
    {
        int n,m;
        cin>>n>>m;
        cout<<c(n,n+m);
    }
     
  • 相关阅读:
    宋元
    隋唐
    中国历史上三次大分裂时期
    三国
    PCL点云 no override found for 'vtkActor'.
    PCL 点云欧式聚类
    PCL区域生长分割
    OPENCV 求轮廓方向
    pcl点云的创建、访问与转换
    PCL 圆柱模型和平面模型的分割
  • 原文地址:https://www.cnblogs.com/hrj1/p/11518055.html
Copyright © 2020-2023  润新知