G - Greatest IME

 IME Starters Try-outs 2018

G - Greatest IME 

Statements

IME students are going to their first military field training. They will be placed in certain areas, individually, but a student in a certain area may be able to see other areas, so, in order to avoid distractions, no student should be able to see any other.

Earlier, for field reconnaissance, soldiers were placed in all areas. During that, two IMPORTANT things were noticed:

  • The sum of the number soldiers that each soldier could see is 2×n−2, where n is the number of soldiers;
  • If an officer says to any soldier to raise his hand and to all others to only raise theirs if they see another soldier with their hand already raised, eventually all soldiers will have raised their hand.

IME instructors are asking you to help them to find out how many students at most can be placed at the same time. To do so, they will give you which areas can be seen from each area.

Input

The first line contains two integers, nn and mm (1≤n≤105, 0≤m≤min(105,n×(n−1)/2)) — the number of areas and the number of relations.

The next mm lines contains the relations between the areas. Each line has two integers, aiai and ajaj (1≤ai,aj≤n), meaning that students in the areas aiai and ajaj can see each other.

Output

Output the number of students that can do the activity at the same time without seeing others.

Example

Input

5 4
1 2
1 3
2 4
2 5

Output

3

做法:快速幂+逆元+阶乘

 

高中数学题…………

  • 每队3人。队内6种情况。
  • n个队。6的次方。
  • m个座位,每队看成一个,相当于m-3*n+n=m-2n个座位坐n个人。
  • 排列数A(m-2n,n)
  • 乘起来………

这期中有一个逆元的概念。

推荐一个,看完就会了……

https://blog.csdn.net/baidu_35643793/article/details/75268911

 

代码如下……有点丑(一开始出了点问题,各种检测修改,最后懒得整理了)……

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll mod=1000000007;
ll n,c,ni;
ll quick(ll a,ll b)
{
    ll ans=1;
    while(b)
    {
        if(b&1) ans=(a*ans)%mod;
        a=(a*a)%mod,b>>=1;

    }
    return ans;
}

ll inv (ll a)
{
    return quick(a,mod-2);
}
ll cal(ll a)
{
    ll ans=1;
    for(int i=1; i<=a; i++)
    {

        ans*=i;
        ans=ans%mod;
    }
    return ans;

}



int main()
{
    ll sum=1;
    cin>>n>>c;
    ll k1,k2,k3,k4;
    k1=quick(6,n);
    k2=cal(n);
    k3=cal(c-2*n);
    k4=(cal(c-3*n)*cal(n))%mod;
    ni=inv(k4);
    sum=(k3*ni)%mod;
    sum=(sum*k1%mod*k2)%mod;
    cout<<sum<<endl;
    return 0;
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
**数字乡村解决方案摘要** **国家战略与乡村振兴** 中国正实施国家大数据战略,以加快数字中国的建设,整合数据资源,保障数据安全,并推动产业升级。2023年中央一号文件强调了乡村振兴战略,旨在通过产业兴旺、生态宜居、乡风文明、治理有效和生活富裕五大方面,实现农业农村现代化。 **数字乡村建设的重要性** 数字乡村建设是乡村振兴战略的重要组成部分,通过整合资源数据,推动物联网和遥感技术在农业中的应用,促进农业现代化。它被视为促进乡村转型发展的新方向,是数字化在农业农村经济社会发展中的应用。 **关键要素与效益** 数字乡村建设的关键要素包括数据资源整合、产业促进、农业发展规模化和标准化,以及改善乡村生活服务体系。预期效益包括提升国家治理能力,实现政府决策科学化和社会治理精准化,同时推动公共服务高效化。 **体系架构与数据融合** 数字乡村的体系架构包括乡村生态、基层治理、慧治、慧享、慧融、慧美、慧智和慧图等多个方面,实现城乡、政企、农户各级平台及服务的融合。数据融合是核心,整合乡村人口、产值、环境监测等多方面数据,为乡村治理和产业发展提供支撑。 **多业务协同与智慧治理** 数字乡村通过多业务协同应用平台,实现乡村物联网的布局和触达,涵盖农业生产、农资厂商、消费者等环节。区块链技术在农产品质量溯源中的应用,确保了产品全过程可追溯。乡村智慧治理通过村务管理、财务管理等方面提升治理效能,实现绿色发展理念。综合服务体系通过“互联网+服务”模式,提供便民服务和乡村经济发展支持,推动乡村全面振兴。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值