Full_of_Boys训练6总结
Posted rrrr-wys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Full_of_Boys训练6总结相关的知识,希望对你有一定的参考价值。
题目来源:2014-2015 ACM-ICPC, Asia Xian Regional Contest
F. Color
第一道二项式反演。。膜题解: https://www.cnblogs.com/wmrv587/p/6681953.html
#include<bits/stdc++.h> typedef long long ll; const ll mod = 1e9 + 7; using namespace std; ll q_pow(ll a,ll b){ ll ans=1; while(b){ if(b&1)ans=(ans*a)%mod; a=(a*a)%mod; b>>=1; } return ans; } ll n,m,k,inv[1000007]; ll C(ll n,ll m){ll t=1; for(ll i=n-m+1;i<=n;++i)t=(t*i)%mod; for(ll i=1;i<=m;++i)t=(t*inv[i])%mod; return t; } ll a(ll x){return ((x%mod)*q_pow(x-1,n-1)%mod)%mod;} int T,K; int main() { scanf("%d",&T); for(int i=1;i<=1e6;++i)inv[i]=q_pow(i,mod-2); while(T--){ scanf("%lld%lld%lld",&n,&m,&k); ll ans=0,w=1,Cki=1;if(k%2)w=-1; for(int i=0;i<=k;++i,w=-w){ ans = (ans%mod + (w*(Cki%mod*a(i)%mod)%mod+mod)%mod)%mod; Cki=(((Cki%mod)*(k-i)%mod)*inv[i+1]%mod)%mod; } ans = (ans*C(m,k))%mod; printf("Case #%d: %lld\\n",++K,ans); } }
C. The Problem Needs 3D Arrays
将有逆序关系的点相连,题目转化为,求最大密度子图。回去复习论文。。
以上是关于Full_of_Boys训练6总结的主要内容,如果未能解决你的问题,请参考以下文章