zoukankan      html  css  js  c++  java
  • POJ 3597 种类数 数学+递推

    http://poj.org/problem?id=3597

    题目大意:把一个正多边形分成数个三角形或者四边形,问有多少种方案。

    思路:http://www.cnblogs.com/Ritchie/p/5939844.html

    然后说一下这个式子的转换。。。md数学果然太差了,花了我好久

    U(n)=∑T(i)*T(n-i+1);(2<=i<=n-1)
    T(n)=U(n)+∑T(i)*U(n-i+1);(2<=i<=n-2)

    因为U(n)=∑T(j)*T(n-j+1);(2<=j<=n-1),  所以 U(n-i+1)=∑T(j)*T(n-j+i) (2<=j<=n-i)

    而∑T(j-i+1)*T(n-j+1);(i+1<=j<=n-1)中的j的范围太难看啦,我们需要把j的范围改变到和上面这个式子一样,然后我们就需要修改这个式子了。由于j的范围比较大, 所以我们可以选择"平移",假设j往左边移动-i+1步,所以我们j的范围就变成了2<=j<=n-i,但是为了让原始的val不发生改变,所以∑T(j-i+1)*T(n-j+1);也要发生移动,所以就变成了∑T(j)*T(n-j+i),就可以合并啦。

    注意:平移的时候要保持两项相加之间的系数和不变,不然所有的转移都是白搭

  • 相关阅读:
    Django-models,继承AbstractUser类
    Django-views,用户认证,login_requierd()
    django前篇
    jquery插件
    jquery事件及插件
    jquery操作元素
    jquery选择器筛选器
    js作用域与作用域链
    js之DOM(二)
    bootstrap
  • 原文地址:https://www.cnblogs.com/heimao5027/p/5942240.html
Copyright © 2011-2022 走看看