题意为要你从编号为1-n的所有机器中间选择出r个机器且每一个机器的编号只差不小于k-1,然后将选择的r个机器分为m组有多少种方案。

其实这题目的两个步骤是相互独立的。

总共的方案数等于选择的方案数乘以分组的方案数。

对于选择的方案数,我们首先选出(r-1)*k+1个数,这样就保证了选择了r个合法的数。

然后我们将剩下的数字填入到这r+1个空中去。这样就相当于是把剩余的那个数字分解为r+1个数字的和有多少种方案。(这里可以dp预处理了)

对于分组的方案数也一样,也是预处理出来的。

对于新加入的一个数,它可以放在前面的任何一个组,也可以独立为一组,这样就可以了。

注意,r个数最多分为r组,所以当m>r的时候,直接m=r即可。

#include <iostream>
#include <cstring>
#include <cstdio>
#define M 1000000007
#define ll long long
#define maxn 1010
using namespace std; ll P[maxn],f[maxn][maxn],g[maxn][maxn];
ll sum[maxn][maxn];
ll n,m,k,r; int main()
{
for (int i=; i<maxn; i++) f[][i]=,sum[][i]=;
for (int i=; i<maxn; i++)
{
for (int j=;j<maxn;j++) sum[i][j]=sum[i-][j];
f[i][]=,sum[i][]=(sum[i][]+f[i][])%M;
for (int j=; j<maxn; j++)
{
f[i][j]=(f[i][j]+sum[i][j-])%M;
sum[i][j]=(sum[i][j]+f[i][j])%M;
}
} g[][]=;
for (int i=; i<maxn; i++)
{
g[i][]=;
for (int j=; j<=i; j++)
{
g[i][j]=(g[i-][j]*j+g[i-][j-])%M;
}
} for (int i=; i<maxn; i++)
for (int j=; j<=i; j++) g[i][j]=(g[i][j-]+g[i][j])%M; while (scanf("%I64d%I64d%I64d%I64d",&n,&r,&k,&m)!=EOF)
{
ll tepx=n-(r-)*k-,tepy=r+;
if (m>r) m=r;
if (tepx<)
{
printf("0\n");
continue;
}
ll ans1=f[tepx][tepy];
ll ans=; ll tep=g[r][m];
ans=(ans1*tep)%M; cout<<ans<<endl;
}
return ;
}

HDU4045_Machine scheduling的更多相关文章

  1. [翻译] AKKA笔记- ACTORSYSTEM (配置CONFIGURATION 与调度SCHEDULING) - 4(一)

    原文在http://rerun.me/2014/10/06/akka-notes-actorsystem-in-progress/ 像我们前面看到的,我们可以用ActorSystem的actorof方 ...

  2. Spring.Scheduling.Quartz 作业的应用(定时任务和循环触发任务)

    .定时任务的实现,比如有个任务是要晚上2点10分的时候要去触发的,先定义这个任务类RskBookFilterInitDiningService.cs,这里其实有两种实现,一种是需要继承QuartzJo ...

  3. Linux Process Management && Process Scheduling Principle

    目录 . 引言 . 进程优先级 . 进程的生命周 . 进程表示 . 进程管理相关的系统调用 . 进程调度 . 完全公平调度类 . 实时调度类 . 调度器增强 . 小结 1. 引言 在多处理器系统中,可 ...

  4. HDU Machine scheduling

    Machine scheduling Time Limit : 5000/2000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) ...

  5. 配置org.springframework.scheduling.quartz.CronTriggerBean (转载)

    在项目中又用到了定时器,对于定时器的应用总是模模糊糊的,今天结合网上找到的资料与自己在项目中写的简单地在此写一下,以备需要时查阅. 一个Quartz的CronTrigger表达式分为七项子表达式,其中 ...

  6. Spring4.1.0 整合quartz1.8.2 时 : class not found : org.springframework.scheduling.quartz.JobDetailBean

    最近做一个 Spring4.1.0 集成 quartz1.8.2 定时器功能,一直报 class not found : org.springframework.scheduling.quartz.J ...

  7. [Chapter 3 Process]Practice 3.8: Describe the differences among short-term, medium-term, long-term scheduling

    3.8 Describe the differences among short-term, medium-term, and longterm scheduling. 答案: 长期调度决定哪些进程进 ...

  8. HDU 4045 Machine scheduling (组合数学-斯特林数,组合数学-排列组合)

    Machine scheduling Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  9. UVA 607 二十二 Scheduling Lectures

    Scheduling Lectures Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submi ...

随机推荐

  1. 20155229--Java实验四《Android开发基础》

    20155229 Java实验四<Android开发基础> 实验内容: 任务一: Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(E ...

  2. 北京Uber优步司机奖励政策(4月11日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  3. P3374 【模板】树状数组 1(单点增减,区间求和)

    P3374 [模板]树状数组 1 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表示 ...

  4. 深入解析QML引擎, 第1部分:QML文件加载

    译者注:这个解析QML引擎的文章共4篇,分析非常透彻,在国内几乎没有找到类似的分析,为了便于国内的QT/QML爱好者和工作者也能更好的学习和理解QML引擎,故将这个系列的4篇文章翻译过来.翻译并不是完 ...

  5. python爬虫:爬取慕课网视频

    前段时间安装了一个慕课网app,发现不用注册就可以在线看其中的视频,就有了想爬取其中的视频,用来在电脑上学习.决定花两天时间用学了一段时间的python做一做.(我的新书<Python爬虫开发与 ...

  6. python-模块详解

    模块: 模块的分类: 第三方模块/扩展模块:没在安装python解释器的时候安装的那些功能 自定义模块:你写的功能如果是一个通用的功能,那你就把它当做一个模块 内置模块:安装python解释器的时候跟 ...

  7. 学习笔记之ubuntu修改固定IP脚本

    一.shell脚本编程 二.正则表达式 三.linux修改IP的方法 #!/bin/bash cd /etc/network/ stty erase '^?' write_interfaces() { ...

  8. python数据可视化——matplotlib 用户手册入门:pyplot 画图

    参考matplotlib官方指南: https://matplotlib.org/tutorials/introductory/pyplot.html#sphx-glr-tutorials-intro ...

  9. 模拟IDE上的run过程

    看了一下老陈写的模仿JDK动态代理,从中取一部分单独扩展,模拟一下IDE上的run过程(不愧是老陈,去年写的东西我要现在才能理解) 对run过程的猜想 在点击run的过程中应该做了不少事.先编译运行r ...

  10. 3星|《CMO到底能干多久?》:CEO必须决定供公司需要哪类CMO

    CMO到底能干多久?(<哈佛商业评论>增刊) <哈佛商业评论>关于CMO的6篇文章.我认为第一篇<为何CMO宝座坐不长>写的最好,是典型的哈评风格:做过实际调查.有 ...