【题目描述】
Alice 有 n 个小球,编号为 1~n,她要将它们装进 m 个盒子,盒子编号为
1~m。她想让每个盒子中至少有一个小球,并且同一个盒子中的任意两个小球
的编号差的绝对值都不能小于 k。她想知道有多少种不同的方案。
两种方案被认为不同,当且仅当存在一个小球 i,在两种方案中放入的盒
子编号不同。
答案模 1,000,000,007。
【输入格式】
一行三个整数,n、m、k。
【输出格式】
一个数,方案数。
【样例输入】
3 2 2
【样例输出】
2
写在前面:跪TA学长(提前一小时AK还打上注释)
——————————————————————————————————————————————
思路:DP,我当时想了1个多小时也没搞出来转移方程,只知道对于状态的描述什么的,后来才知道正确的方法——对于前i-1个球放进j个盒子里,第i个球如果放到新的盒子里,就有(m-j+1)种方法,因为还有m-j+1个盒子是空的;如果放进放过球的盒子里,那么有(k-1)个盒子不能放,因为球都有序号,所以有(m-k+1)个方法,利用加法原理我们可以得出

f[i][j]=f[i-1][j-1](m-j+1)+f[i-1][j](j-k+1);
然后mod就可以了
代码:

#include<cstdio>
#include<iostream>
using namespace std;
long long f[1010][1010],n,m,k;
long long mod=1000000007;
main()
{scanf("%d%d%d",&n,&m,&k);f[0][0]=1; for (int i=1;i<=n;i++)for (int j=1;j<=m;j++)f[i][j]=(f[i-1][j-1]*(m-j+1)%mod+f[i-1][j]*(j-k+1)%mod)%mod;printf("%lld",f[n][m]);
} 

【faebdc的模拟赛】T2分组相关推荐

  1. 【faebdc的模拟赛】T1错位

    [题目描述] Frank 打字的时候经常打错.在打一个字母的时候,他可能按的是那个字 母上.下.左或右的键(如果存在的话),当然他也会打对.比如他想打"F" 的话,可能打成&quo ...

  2. 20161003 NOIP 模拟赛 T2 解题报告

    Weed duyege的电脑上面已经长草了,经过辨认上面有金坷垃的痕迹. 为了查出真相,duyege 准备修好电脑之后再进行一次金坷垃的模拟实验. 电脑上面有若干层金坷垃,每次只能在上面撒上一层高度为 ...

  3. 东方幻想乡系列模拟赛T2琪露诺题解

    题目地址: http://fzoj.xndxfz.com/JudgeOnline/problem.php?id=2146&csrf=17peCLMJM49glhqlg9KaD7Agf5o5QY ...

  4. OIBH杯第三次普及组模拟赛T2 最小花费

    T2: 最小花费 题目描述 在n个人中,某些人的银行账号之间可以互相转账.这些人之间转账的手续费各不相同.给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到 ...

  5. 20181029NOIP模拟赛T2

    2.追捕 [题目背景] Duan2baka:"jmsyzsfq天下第一蠢!" jmsyzsfq:"你说什么?!" [题目描述] 于是Duan2baka开始了逃亡 ...

  6. 2017-10-5模拟赛T2 小Z爱排序(sorting.*)

    Description Solution 比赛时找到了规律,但是没有证出来--(当然最后还是AC了--) 显然没有被操作的数在排好序的序列中一定是连续的一段. 所以,没有被操作的数一定从左到右连续地递 ...

  7. 【2019.8.9 慈溪模拟赛 T2】摘Galo(b)(树上背包)

    树上背包 这应该是一道树上背包裸题吧. 众所周知,树上背包的朴素\(DP\)是\(O(nm^2)\)的. 但对于这种体积全为\(1\)的树上背包,我们可以通过记\(Size\)优化转移时的循环上界,做 ...

  8. 跳跳虎回家(国庆10.1模拟赛T2)

    题目: [题目描述] 跳跳虎在外面出去玩忘了时间,现在他需要在最短的时间内赶回家. 跳跳虎所在的世界可以抽象成一个含有 n 个点的图(点编号从 1 到 n ),跳跳虎现在在 1 号点,跳跳虎的家在 n ...

  9. 【8.21模拟赛T2.7221】[USACO21OPEN] Portals G【kruskal】

    题目链接:https://www.luogu.com.cn/problem/P7528,https://gmoj.net/senior/#main/show/7221 分析 这题题意真是有点点玄啊. ...

最新文章

  1. 一个让你敲代码的同时,找回童年乐趣的 IntelliJ 插件
  2. 张涵20160401作业
  3. Session 'app': Error Installing APK
  4. python frame用法_python—dataframe用法
  5. 带着canvas去流浪系列之五 绘制K线图
  6. Android--序列化XML数据
  7. oracle11g增加备库,oracle11g dataguard物理备库搭建(关闭主库cp数据文件到备库)
  8. 深度学习中的batch,iteration,epoch复习总结
  9. 百度文库无需VIP和下载券直接下载
  10. 关于android art模式提取的OAT转dex
  11. C# 判断是否是节假日
  12. android 辅助功能(无障碍) AccessibilityService 实战入门详解
  13. 链接计算机网络密码错误,手机连不上路由器显示密码错误怎么办?
  14. 从互联网进化的角度看AI+时代的巨头竞争
  15. 星梦小组KTV点歌系统简介
  16. Python中的对象实例化过程 用python解密__new__
  17. 华为MIB关键字IOD查询地址及方法
  18. h5网页服务器选择,h5制作选择虚拟主机还是服务器
  19. 互联网+下PDA移动智能手持POS超市收银开单软件
  20. CGB2109-Day13-用户模块管理

热门文章

  1. js 加总数组中某一列_js根据对象数组中某一属性值,合并相同项,并对某一属性累加处理...
  2. 【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记
  3. leetcode344题:反转字符串
  4. xp电脑主题包_怎么让手机变电脑?一个APP让你的安卓手机变Windows电脑
  5. 第十章:在Spark集群上掌握比较重要的图操作之Computing Degree
  6. 开源项目cardslib简单介绍和导入eclipse并运行的方法
  7. 多线程的概念及实现方式
  8. mysql分组查询后插入新表,MySQL获取分组后的TOP 1和TOP N记录
  9. vuex commit 模块_长篇连载:Vuex源码学习(二)脉络梳理
  10. java logic逻辑,logicJava的复习