zoukankan      html  css  js  c++  java
  • 普通母函数的理解


    title: 普通母函数的理解
    tags: [acm,母函数]

    • 问题?

      有1克的砝码3枚、2克的砝码2枚、3克的砝码4枚 ,能称出哪几种重量?每种重量各有几种可能方案?

      解决这个问题之前先看一个简单的问题,,,,,

      有四个位置,每个位置只能放一个0或者换一个1,问一共能组成多少种不同的排列?

      这个问题很简单每个位置有2中选择,并且有四个位置那么就是2*2*2*2=24;但是其中的2是怎么来的呢?每个位置要么选择0或者选择1,0是一种选择,1是另一种选择,那么就是(1+1)*(1+1)*(1+1)*(1+1)=24,

      上面的问题和这个是不是有点相似呢,

      1克的砝码有三枚,可以选择1个,2个或者3个或者0个,对应的质量可选的有 1、2、3、0

      2克的砝码有两枚,可以选择1个,2个或者0个,对应的质量可选的有 2、4、0

      3克的砝码有三枚,可以选择1个,2个或者3个或者0个,对应的质量可选的有 3、6、9、0

      设x代表砝码 (这里的x并没有实际意义) x^i 代表目前所选了质量为i的砝码的组合

      对于1克的砝码可选的质量 有个表达:(x^0 + x^1 + x^2 + x^3 )

      对于2克的砝码可选的质量 有个表达:(x^0 + x^2 + x^4 )

      对于3克的砝码可选的质量 有个表达:(x^0 + x^3 + x^6 + x^9 )

      然后把每种质量的砝码的选择方案相乘: (x^0 + x^1 + x^2 + x^3 )*(x^0 + x^2 + x^4 )*(x^0 + x^3 + x^6 + x^9 )=(a1xb1+a2xb2+...+anx^bn) 最终的表达式的实际含义:a1X^b1 选择b1质量的方案有a1种,选择b2质量的方案有a2种,选择b3质量的方案有a3种。这个最终的表达式是我们需要的,我们可以从这个表达式中找出我们选择某种质量的方案数。

      那么重点来了,如何用代码展开这种表达式并保存下来。。。。不难发现这个表达式中对我们有用信息只有系数和次方数

      具体怎么用代码展开这个多项式请看找单词

  • 相关阅读:
    sublime插件FileHeader使用,自动的添加模板
    基于aspectj实现AOP操作的两种方式——xml配置
    AOP操作术语
    AOP原理
    maven的常用构建命令
    maven目录结构
    maven环境变量配置
    接口式编程
    mybatis编写流程(老版本的方式,新版本用接口式编程)
    当数据库中的字段与javabean中对应的属性名不同
  • 原文地址:https://www.cnblogs.com/dccmmtop/p/6710384.html
Copyright © 2011-2022 走看看