swust oj 2516 教练我想学算术 dp+组合计数
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<string>
#include<queue>
#include<cmath>
#include<map>
#include<algorithm>
#include<vector>
//#define debug
using namespace std;
const int inf = 0x3fffffff;
const int mod = 1000000007;
const int mmax = 1000010;
typedef long long LL;
int n,m,k;
LL inv[mmax];
LL jie[mmax];
LL dp[1100];
void pre()
{
inv[0]=inv[1]=1;
jie[0]=jie[1]=1;
for(int i=2;i<mmax;i++)
{
inv[i]=(LL)(mod-mod/i)*inv[mod%i]%mod;
jie[i]=jie[i-1]*i;
jie[i]%=mod;
}
for(int i=2;i<mmax;i++)
{
inv[i]*=inv[i-1];
inv[i]%=mod;
} }
LL Pow_mod(LL x ,int n)
{
LL res=1,tmp=x;
for(;n;n/=2)
{
if(n&1)
res=(res*tmp)%mod;
tmp=(tmp*tmp)%mod;
}
return res;
}
LL C(int x,int y)
{
if(y>x)
return 0;
return jie[x]*inv[y]%mod*inv[x-y]%mod;
}
void build()
{
dp[0]=0;
dp[1]=1;
for(int i=2;i<=n;i++)
{
dp[i]=Pow_mod(i,n);
for(int j=1;j<i;j++)
{
dp[i]-=dp[i-j]*C(i,j)%mod;
dp[i]=(dp[i]%mod+mod)%mod;
}
}
}
int main()
{
pre();
while(~scanf("%d %d %d",&n,&m,&k))
{
if(m==1)
{
printf("%lld\n",Pow_mod(k,n));
continue;
}
build();
LL cnt=0;
for(int i=0;i<=n;i++)
{
for(int j=0;i+j<=n;j++)
{
LL tmp=1;
tmp=C(k,i)*C(k-i,j)%mod*C(k-i-j,j)%mod;
tmp*=dp[i+j]*dp[i+j]%mod*Pow_mod((LL)i,n*(m-2))%mod;
tmp%=mod;
cnt+=tmp;
cnt%=mod;
}
}
printf("%lld\n",cnt);
}
return 0;
}
swust oj 2516 教练我想学算术 dp+组合计数的更多相关文章
- [Swust OJ 581]--彩色的石子(状压dp)
题目链接:http://acm.swust.edu.cn/problem/0581/ Time limit(ms): 1000 Memory limit(kb): 65535 Descriptio ...
- 2014年9月21日_随笔,jdic,ETL,groovy,Nutz好多东西想学
(1)老妈十一要回老家,才突然发现买票好难啊.有亲朋很重要 (2)这周我做了什么.jdic,ETL,groovy, Nutz好多东西想学. Nutz开发成员专访.Nutz优酷视频(演讲).Nutz 入 ...
- [Swust OJ 404]--最小代价树(动态规划)
题目链接:http://acm.swust.edu.cn/problem/code/745255/ Time limit(ms): 1000 Memory limit(kb): 65535 Des ...
- [Swust OJ 649]--NBA Finals(dp,后台略(hen)坑)
题目链接:http://acm.swust.edu.cn/problem/649/ Time limit(ms): 1000 Memory limit(kb): 65535 Consider two ...
- 最近想学Json,请问大家有没有什么好的Json教程介绍一下?
最近想学json,请问大家有没有什么好的Json教程介绍一下? 最近学完java的框架了,想了解一下json,可是找不到相关视频,请大家有这方面的Json教程好资料就介绍下啦,最后有网址链接啦. {} ...
- 少年,想学带修改主席树吗 | BZOJ1901 带修改区间第k小
少年,想学带修改主席树吗 | BZOJ1901 带修改区间第k小 有一道题(BZOJ 1901)是这样的:n个数,m个询问,询问有两种:修改某个数/询问区间第k小. 不带修改的区间第k小用主席树很好写 ...
- 为什么43%前端开发者想学Vue.js
根据JavaScript 2017前端库状况调查 Vue.js是开发者最想学的前端库.我在这里说明一下我为什么认为这也是和你一起通过使用Vue构建一个简单的App应用程序的原因. 我最近曾与Evan ...
- 结合jquery的前后端加密解密 适用于WebApi的SQL注入过滤器 Web.config中customErrors异常信息配置 ife2018 零基础学院 day 4 ife2018 零基础学院 day 3 ife 零基础学院 day 2 ife 零基础学院 day 1 - 我为什么想学前端
在一个正常的项目中,登录注册的密码是密文传输到后台服务端的,也就是说,首先前端js对密码做处理,随后再传递到服务端,服务端解密再加密传出到数据库里面.Dotnet已经提供了RSA算法的加解密类库,我们 ...
- APP爬虫(1)想学新语言,又没有动力,怎么办?
最近Python和GO语言很火,想学但是只能看得懂21天精通这种级别的教程.公司的项目暂时不会上py或go的技术栈,给的薪资福利待遇还可以,暂时又不想辞职.没有项目实战经验,完全看不懂大神写的干货,怎 ...
随机推荐
- 浅说套接字socket做个小小的监控
socket 的简介 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. Socket的英文原义是"孔"或"插座".作为 ...
- 虚拟机virtualbox,直接复制本机虚拟硬盘vdi使用, 会提示错误的解决方法
提示语句为: 打开硬盘文件D:\Virtualbox\debian9 - 副本.vdi 失败. 明细(D) Cannot register the hard disk ‘D:\Virtualbox\d ...
- 教你用webpack搭一个vue脚手架[超详细讲解和注释!]
1.适用人群 1.对webpack知识有一定了解但不熟悉的同学. 2.女同学!!!(233333....) 2.目的 在自己对webpack有进一步了解的同时,也希望能帮到一些刚接触webpack的同 ...
- 紫书 习题8-5 UVa 177 (找规律)
参考了https://blog.csdn.net/weizhuwyzc000/article/details/47038989 我一开始看了很久, 拿纸折了很久, 还是折不出题目那样..一脸懵逼 后来 ...
- STM32是如何进入中断服务函数xxx_IRQHandler的
今天在看stm32的中断,一时间不理解stm32主函数是如何进入中断函数的,按C编程的理解,会有个特定的入口之类的,但是看demo过程中没有发现入口. 以串口中断服务函数void USART1_IRQ ...
- Openstack API 开发 快速入门
Openstack 做为流行的开源云计算平台,其最大特性是利用其提供的基础设施API,让我们可以以软件的方式来动态管理IAAS资源.Openstack 提供的api是流行的Rest API. ...
- 在oracle中采用connect by prior来实现递归查询
注明:该文章为引用别人的文章,链接为:http://blog.csdn.net/apicescn/article/details/1510922 , 记录下来只是为了方便查看 原文: connect ...
- 转:app store 注册账号生成证书上传app完整的教程
app store为开发者提供四种类型的申请: 个人ios开发者计划$99/年 公司ios开发者计划$99/年 企业ios开发者计划$299/年 高校ios开发者计划免费 在这里主要介绍一下公司ios ...
- hdu_4430,二分
注意处理溢出 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm ...
- POJ --3045--Cow Acrobats(贪心模拟)
Cow Acrobats Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u Submit ...