题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1992题意:用1*2和2*1的小长方形铺垫4*W的方格有多少种方法。分析:假如新加入1列,这列都竖着,肯定有a[i]种,假如最后加入的方块要横跨最右那条边界,没有横跨到倒数第二列,则有4*a[i-2];当...
分类:
其他好文 时间:
2014-12-08 21:10:49
阅读次数:
300
一. 题意(0.04s) 每一对成熟的兔子可以生一对兔子,兔子在m个月之后成熟,假设兔子都不会死,计算d个月后一共有多少只兔子。二. 要高精度加法(用string)三. 公式:ans[m] = ans[m - 1] + ans[m-M]。 这里M最大值只可能是10,所以开个最大存10个s...
分类:
其他好文 时间:
2014-12-08 21:02:40
阅读次数:
190
题意:斐波那契数列f(0) = 0, f(1) = 1, f(n+2) = f(n+1) + f(n) (n ≥ 0)输入a、b、n,求f(ab)%n分析:构造一个新数列F(i) = f(i) % n,则所求为F(ab)如果新数列中相邻两项重复出现的话,则根据递推关系这个数列是循环的。相邻两项所有可...
分类:
其他好文 时间:
2014-12-08 15:10:38
阅读次数:
229
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1267题意:假定一个字符串由m个H和n个D组成,从左到右扫描该串,如果字符H的累计数总是不小于字符D的累计数,那么,满足条件的字符串总数。状态转移方程:dp[i+1][j]+=dp[i][j]//在后面加...
分类:
其他好文 时间:
2014-12-07 19:07:30
阅读次数:
105
题意: 给定n*m的棋盘(1
思路:m的范围只有1
状态表示:0代表此处留空,1代表此处被填满。01序列压缩成一个int型来表示一行的填放情况。(例如:状态为4,则代表100,即第一列填满,第二第列三空)
递推矩阵是长这样的:
边界条件:
其中,
t = 2^M
代表将前i-1行填满,且第i行放置了状态s时的总方案数。
代表上一行原本放置了状态s2的前提下,当前行放置骨...
分类:
其他好文 时间:
2014-12-07 12:38:12
阅读次数:
176
1.基本概念
动态规划过程是:多阶段最优化决策的过程,每次决策依赖于当前状态,又随即引起状态的转移(即状态递推方程),一个决策序列就是在变化的状态中产生出来的,最终得到最优化的决策。
2.基本思想与策略
该算法通常基于一个递推公式(状态转移方程,即问题与子问题关系)及一个或多个初始状态。当前子问题的解将由上一次子问题的解推出。...
分类:
编程语言 时间:
2014-12-07 09:02:03
阅读次数:
184
最近开始学习排序。排序的作用不必多说,目前所见的比较坑的题不是用高精度运算就是用排序。正如Gromah大神所说:“不会排序学什么信息学竞赛啊!”于是在此总结一下,以便下一步学习。以下是目前学会的几个较简单的排序。参考资料:《信息学竞赛一本通》、《算法竞赛入门经典》、以及一个排序示意软件及其代码的.....
分类:
编程语言 时间:
2014-12-06 18:11:36
阅读次数:
276
昨晚学长教了我们这样一个神奇的算法---矩阵快速幂,矩阵快速幂在递推优化上相当神奇,并且效率很高。 一、 先举这样一个例子。斐波那契数列大家都知道的吧。f[n]=f[n-1]+f[n+2](n=108),求f[n]; 这种题目,要是用递归做下去肯定超时。但是用矩阵就很容易解决。 f[n] ...
分类:
编程语言 时间:
2014-12-06 13:58:07
阅读次数:
161
题目链接:点击打开链接
线性O(n) 计算组合数,递推法。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define maxn 1005
#define _ll __int64
...
分类:
其他好文 时间:
2014-12-05 19:17:12
阅读次数:
129
递推的方法推导错排公式 当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推. 第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法; 第二步,放编号为k的元素,...
分类:
其他好文 时间:
2014-12-05 10:31:17
阅读次数:
172