• 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);
    }
     
  • 相关阅读:
    XAF 如何在工具栏显示多参数
    XAF Study Recources
    常用工具
    Linux下Kill函数用法
    ipv6相关转换
    宣布回归
    微软夏令营
    APEX SDK阅后感
    寻求offer,开始记录我的征程
    衣服模拟结果
  • 原文地址:https://www.cnblogs.com/hrj1/p/11518055.html
Copyright © 2020-2023  润新知