zoukankan      html  css  js  c++  java
  • 图的计数

    Description
    在观察完第一个作业之后你终于开始观察第二个作业了,第二个作业十分无聊,就只是一道题目。

    询问有多少个N个点,M条边的有向图,从1号点到达N号点需要经过至少N-1条边。该有向图中可以包含重边和自环。

    Input
    第一行两个整数N,M。

    Output
    仅一个整数表示答案 mod (10^9+7)。

    Sample Input
    2 2

    Sample Output
    4

    Data Constraint

    Hint
    对于30%的数据 N<=5,M<=10
    对于60%的数据 N<=80,M<=3000
    对于100%的数据 1<=N<=10000 1<=M<=100000
    .
    .
    .
    .
    .
    分析
    在这里插入图片描述
    .
    .
    .
    .
    .
    .
    程序:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    long long n,m,w,t,mo=1000000007;
    
    long long poww(long long x,long long y)
    { 
    	long long r=1;
    	while (y!=0)
    	{
    		if (y&1) r=(long long)r*x%mo; 
    		y>>=1;
    		x=x*x%mo;
    	}
    	return r; 
    }
    int main()
    {
        scanf("%lld%lld",&n,&m);
    	long long ans=1;
        for (long long i=1;i<=n-2;i++) 
    		ans=(long long)ans*i%mo;
    	m=m-(n-1);
        w=(n+n-1+((n-1)*n)/2%mo)%mo;
    	t=1;
    	long long x,y,z;
    	for (long long i=1;i<=w-1+m;i++)
        {
        	t=(long long)t*i%mo;
    		if (i==w-1+m) x=t; else 
    		if (i==w-1) y=t; else 
    		if (i==m) z=t;
    	}
    	ans=(long long)ans*x%mo*poww(y,mo-2)%mo*poww(z,mo-2)%mo;
    	printf("%lld",ans);
    	return 0;
    }
    
  • 相关阅读:
    获取全部校园新闻
    爬取校园新闻首页的新闻
    网络爬虫基础练习
    团队总结
    团队第二阶段冲刺绩效评估
    第二阶段冲刺第七天站立会议
    第二阶段冲刺第六天站立会议
    第二阶段冲刺第五天站立会议
    内测版本
    第二阶段冲刺第四天站立会议
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/10458950.html
Copyright © 2011-2022 走看看