HDU - 2152

思路 :有上下界的生成函数 。
生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。生成函数有普通型生成函数和指数型生成函数两种,

其中普通型用的比较多。形式上说,普通型生成函数用于解决多重集的组合问题,此处 方案 不同的定义为
如果各种水果的数目都相同,则认为这两种方案是相同的。所以为 多重集的组合问题。

#include<bits/stdc++.h>
using namespace std;
#define maxn 123
struct node
{
int x,y;
} a[maxn];
int n,m,ans[maxn],tp[maxn];
int main()
{
while(~scanf("%d%d",&n,&m))
{
memset(ans,0,sizeof(ans));
memset(tp,0,sizeof(tp));
for(int i=1; i<=n; i++)
scanf("%d%d",&a[i].x,&a[i].y);
for(int i=a[1].x; i<=a[1].y; i++)
ans[i]=1;
for(int i=2; i<=n; i++)
{
for(int j=0; j<=m; j++)
for(int k=a[i].x; k+j<=m&&k<=a[i].y; k++)
tp[j+k]+=ans[j];
for(int j=0; j<=m; j++)
ans[j]=tp[j],tp[j]=0;
}
printf("%d\n",ans[m]);
}
return 0;
}

  

Fruit HDU - 2152 -上下界生成函数的更多相关文章

  1. HDU 3157 Crazy Circuits(有源汇上下界最小流)

    HDU 3157 Crazy Circuits 题目链接 题意:一个电路板,上面有N个接线柱(标号1~N),还有两个电源接线柱 + -.给出一些线路,每一个线路有一个下限值求一个能够让全部部件正常工作 ...

  2. hdu 4940 Destroy Transportation system (无源汇上下界可行流)

    Destroy Transportation system Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 ...

  3. 【HDU 4940】Destroy Transportation system(无源无汇带上下界可行流)

    Description Tom is a commander, his task is destroying his enemy’s transportation system. Let’s repr ...

  4. HDU 4940 Destroy Transportation system(无源汇有上下界最大流)

    看不懂题解以及别人说的集合最多只有一个点..... 然后试了下题解的方法http://blog.sina.com.cn/s/blog_6bddecdc0102uzka.html 首先是无源汇有上下界最 ...

  5. HDU Destroy Transportation system(有上下界的可行流)

    前几天正看着网络流,也正研究着一个有上下界的网络流的问题,查看了很多博客,觉得下面这篇概括的还是相当精确的: http://blog.csdn.net/leolin_/article/details/ ...

  6. hdu 4940 无源汇有上下界最大流

    /* <img src="http://img.blog.csdn.net/20140823174212937?watermark/2/text/aHR0cDovL2Jsb2cuY3N ...

  7. hdu 4940 Destroy Transportation system( 无源汇上下界网络流的可行流推断 )

    题意:有n个点和m条有向边构成的网络.每条边有两个花费: d:毁坏这条边的花费 b:重建一条双向边的花费 寻找这样两个点集,使得点集s到点集t满足 毁坏全部S到T的路径的费用和 > 毁坏全部T到 ...

  8. HDU 4940 Destroy Transportation system(无源汇上下界网络流)

    Problem Description Tom is a commander, his task is destroying his enemy’s transportation system. Le ...

  9. HDU 3157 Crazy Circuits (有源汇上下界最小流)

    题意:一个电路板,上面有N个接线柱(标号1~N)   还有两个电源接线柱  +  - 然后是 给出M个部件正负极的接线柱和最小电流,求一个可以让所有部件正常工作的总电流. 析:这是一个有源汇有上下界的 ...

随机推荐

  1. Spring Security Filter执行顺序

    1.场景:先走框架过滤器,后走自定义过滤器 @Bean public FilterRegistrationBean resourceFilterRegistration() { FilterRegis ...

  2. Nginx详解五:Nginx基础篇之HTTP请求

    http请求 如今的http请求已经不是每一次请求都进行一次三次握手,可以在请求与相应之后,客户端和服务端不断的发送FIN和ACK包来保持连接的状态,即:长连接 HTTP请求建立在一次TCP连接基础上 ...

  3. npm 如何查看一个包的版本信息?

    转载. https://blog.csdn.net/cvper/article/details/79543262 有了npm 我们能够简单的一段代码就下载我们需要的包,但是包是不断更新的, 所以我们要 ...

  4. svn_linux + apache 实现网页访问svn

    CentOS7:搭建SVN + Apache 服务器实现网页访问 1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ htt ...

  5. [转] 对Array.prototype.slice.call()方法的理解

    在看别人代码时,发现有这么个写法:[].slice.call(arguments, 0),这到底是什么意思呢? 1.基础 1)slice() 方法可从已有的数组中返回选定的元素. start:必需.规 ...

  6. javascript var变量删除

    var有三种声明的情形: var声明的全局变量 var在函数范围内声明的局部变量 eval中声明的全局变量. 首先, 1.2种情形var声明的变量是无法删除的. 尽管var声明的全局变量是属于wind ...

  7. vue-app开发入门

    vue的中文文档在这里 1. 简单地引用vue.js 使用vue框架最简单的方式就是写一个HTML页面然后引用vue.js啦. 使用<script> 标签就可以将vue.js导入并且使用它 ...

  8. 调整LaTeX文档页面的大小

    看下面这张图片便一目了然!!!       借助 geometry 包,可以很方便地调整页面大小,常用的参数如图所示,这些参数都可以通过LateX支持的单位(mm, cm, pt, in)去重新设置. ...

  9. keepalived高可用配置注意事项

    安装注意事项: 1.关闭防火墙或者打开防火墙vrrp协议的通过,centos6 和centos7打开方式不同 2.一定要关闭防火墙 3.配置完成后重启网卡和keepalived服务 4.日志:/var ...

  10. Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案 (精髓)

    前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下.有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文件夹说 ...