正题

luogu
CF232B


题目大意

给你一个 n×mn\times mn×m 的网格,问你有多少种放点方案可以满足每个 n×nn\times nn×n 的网格内都恰好有 kkk 个点


解题思路

不难发下,n×nn\times nn×n 的格子往下移一行,新的一行和刚过的一行点的数量一样

那么设 fi,jf_{i,j}fi,j​ 表示前 iii 行放了 jjj 个点的方案数,然后直接暴力转移即可


code

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
#define N 110
#define mod 1000000007
using namespace std;
ll n,m,k,inv[N],fac[N],ifac[N],g[N][N],f[N][N*N];
ll C(ll x,ll y)
{return fac[x]*ifac[x-y]%mod*ifac[y]%mod;
}
ll pw(ll x,ll y)
{ll z=1;while(y){if(y&1)z=z*x%mod;x=x*x%mod;y>>=1;}return z;
}
void pre_work()
{ifac[0]=fac[0]=inv[1]=ifac[1]=fac[1]=1;for(ll i=2;i<=n;++i){inv[i]=mod-mod/i*inv[mod%i]%mod;fac[i]=fac[i-1]*i%mod;ifac[i]=ifac[i-1]*inv[i]%mod;}for(ll i=1;i<=n;++i)for(ll j=0;j<=n;++j)g[i][j]=pw(C(n,j),(m-i+n)/n);//第i行选j个点的方案数,幂为后面一样的行return;
}
int main()
{scanf("%lld%lld%lld",&n,&m,&k);pre_work();f[0][0]=1;for(ll i=1;i<=n;++i)for(ll j=0;j<=k;++j)for(ll l=0;l<=min(j,n);++l)(f[i][j]+=f[i-1][j-l]*g[i][l]%mod)%=mod;printf("%lld",f[n][k]);return 0;
}

【DP】Table(CF232B)相关推荐

  1. 【单调队列】【DP】城市交通(jzoj 1749)

    城市交通 jzoj 1749 题目大意 有n个点,x到y的前提是x<y,代价是(y−x)∗ax+by(y-x)*a_x+b_y(y−x)∗ax​+by​,问从1到n的最小代价是多少 输入样例 4 ...

  2. 【DP】楼梯(jzoj 1520)

    楼梯 jzoj 1520 题目大意: 有n个楼梯,跳跃高度初始值是1,当往后一层时,跳跃高度就×2,当跳跃只能跳跃到当前能跳到楼梯,且跳跃之后,跳跃高度变回1,问跳到第n层最少花几步 样例输入 5 0 ...

  3. 【拓扑排序】【DP】奖金(ssl 1325)

    奖金 ssl 1325 题目大意: 有n个人,某个人要比另外一个人的工资高(工资最低为100,最少多1元),问最少发多少工资 原题: 题目描述 由于无敌的凡凡在2005年世界英俊帅气男总决选中胜出,Y ...

  4. 【前缀和】【DP】登机(jzoj 5535)

    登机 jzoj 5535 题目大意: 有一架飞机,有n个人要登机,每个人的不满值为登机时当前机舱在他所在行前方的人数总和,现在可以把飞机分为k个机舱,使不满值总和最小 原题: 题目描述 小H是机场登机 ...

  5. 【01背包】【DP】精卫填海(黄题)

    题目: 发鸠之山,其上多柘木.有鸟焉,其状如乌,文首,白喙,赤足,名曰精卫,其名自詨.是炎帝之少女,名曰女娃.女娃游于东海,溺而不返,故为精卫.常衔西山之木石,以堙于东海.--<山海经> ...

  6. 【DP】剪草(jzoj 1510)

    剪草 题目大意: 有n棵小草,B某看它们很不顺眼,想让他们的高度总和不大于H,它们一开始各有一个高度,然后它们各有一个固定的生长值,B某每个单位时间可以将一棵草减掉(让他的高度变为0),但小草每个单位 ...

  7. poj 2411 Mondriaan#39;s Dream 【dp】

    题目:poj 2411 Mondriaan's Dream 题意:给出一个n*m的矩阵,让你用1*2的矩阵铺满,然后问你最多由多少种不同的方案. 分析:这是一个比較经典的题目.网上各种牛B写法一大堆. ...

  8. 【BZOJ2286】消耗战(虚树,动态规划)

    [BZOJ2286]消耗战(虚树,动态规划) 题面 BZOJ Description 在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达.现在,我军已经侦查到敌军的总 ...

  9. 【DP】【期望】$P1850$换教室

    [DP][期望]\(P1850\)换教室 链接 题目描述 有 \(2n\) 节课程安排在$ n$ 个时间段上.在第 \(i\)(\(1 \leq i \leq n\))个时间段上,两节内容相同的课程同 ...

最新文章

  1. 拼多多一度跌破发行价:已遭上海工商约谈 被要求自查自纠
  2. 网络计算机的广域性有什么,为什么计算机网络有局域网?
  3. Pinterest:Android系统上的视频管理
  4. 前端学习(2047)vue之电商管理系统电商系统之使用cdn优化打包
  5. HTML5: 两个viewport的故事(第二部分)
  6. Channel shutdown: channel error; protocol method
  7. 用python和pycharm能做什么_pycharm能干嘛
  8. linux各文件夹的作用
  9. POI 导出Excel,部分单元格的锁定和背景至灰
  10. 淘宝天猫自动抢购插件下载-开发学习
  11. 魔兽世界3.35+mysql_最新魔兽世界3.35兔子王版本商业一键启动服务端+启动教程
  12. (原創) 如何將16進位的ACSII值轉成相對應的字元? (C/C++) (C)
  13. EM算法在直线分类与灭点检测中的应用(关于一篇文章的读后感)
  14. 用Unity做一个小Demo入门Unity
  15. 七张图,学会做有价值的经营分析
  16. 树莓派3B+使用镜像烧录安装系统与配置教程(入门向)
  17. Hopefield神经网络
  18. Java校验框架-Oval
  19. html5 o2o,基于HTML5的O2O团购平台的设计与实现
  20. 【无限互联】iOS开发视频教程 — 3.4 @property属性和点语法

热门文章

  1. python函数模块化教程_【软件测试教程】Python模块化以及内置模块的使用
  2. 八大排序算法交换排序算法
  3. 815 计算机专业基础综合,2018年华东理工大学信息科学与工程学院815计算机专业基础综合之计算机操作系统考研基础五套测试题...
  4. php 百度云 上传,求个PHP版百度云BOS上传文件的dome
  5. [RabbitMQ]工作原理_原理名词解释
  6. C++ 详解拷贝构造函数
  7. AcWing 211. 计算系数
  8. 对一组同构对象用单数组表示法实现(算法导论第十章10.3-2)
  9. 2019-02-26-算法-进化(回文数)
  10. CF 1475 D. Cleaning the Phone 思维模型