// 这题开始在算法竞赛入门经典的书上状态表示
// dp[i][j]表示前i个方块以第j条边为高所能得到的最大高度值
// dp[i][j] = max(dp[0...i-1][0,1,2]+block[i][j]);
// 就是一个DAG模型
// 这样记忆化搜索就行啦,还是有些技巧的
//
// 第二种做法就是递推
// 首先把一个方块变为6个,即表示长,宽,高
// 当然,首先得要把底面积...
分类:
其他好文 时间:
2015-04-17 22:24:08
阅读次数:
139
由于棋盘只有两行,所以如果第i列的骨牌竖着放,那么就转移为第1列到第i-1列骨牌有多少种摆法如果第一行第i列骨牌横着放,那么第二行第i列也要横着放,那么就转移为了第1列到第i-2列骨牌有多少种方法dp[i] = dp[i-1] + dp[i-2],但是列数太多了。 这种递推的算式可以用矩阵快速幂来优...
分类:
其他好文 时间:
2015-04-17 17:55:42
阅读次数:
122
斯特灵数:把nn个数划分为恰好kk个非空集合的个数,记为S(n,k)S(n, k)。且有:S(n,1)=S(n,n)=1S(n, 1) = S(n, n) = 1。
有递推关系式:S(n+1,k)=S(n,k?1)+kS(n,k?1)S(n + 1, k) = S(n, k - 1) + kS(n, k - 1)
贝儿数:把nn个数划分为非空集合的所有划分数。有:Bn=∑i=0nS(n,i)Bn...
分类:
其他好文 时间:
2015-04-17 14:02:51
阅读次数:
92
题目:给你一个2*n的地面,用1*2和2*2的地板砖铺满,有多少种不同方案。
分析:组合数学,动态规划。直接找到地推关系求解。
因为,只可能是最后一列是一个整体(1种情况)或者最后两列是一个整体(两种情况);
所以,有递推公式:f(n)= f(n-1)+ 2*f(n-2);
可以使用动态规划或母函数(an = (pow...
分类:
其他好文 时间:
2015-04-17 01:17:42
阅读次数:
184
题目来源
hiho一下 第四十一周
正在进行: 2天05小时28分钟25秒
首页
题目列表
我的提交
排名
讨论
报名人数:1264
题目1 : 骨牌覆盖问题·一
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
骨牌,一种古老的玩具。今天我们要研究的是骨牌的覆盖问题:
我们有一个2xN的长条形棋盘,然后用1x2的骨牌去...
分类:
其他好文 时间:
2015-04-16 15:51:12
阅读次数:
139
思路题/神奇的转化…… orz hzwer 或许这个思路可以从单行而非环形的递推中找到?(单行的时候,从左往右直接递推即可…… 感觉好神奇>_ X2=ave-A1+X1 = X1-C1(假设C1=A1-ave,下面类似)对于第2个小朋友,A2-X2+X3=ave -> X3=ave-A2+X2...
分类:
其他好文 时间:
2015-04-15 22:45:41
阅读次数:
117
#include#includeconst int maxn=1000;int mul(char a[],char b[],int c[]){ int la=strlen(a); int lb=strlen(b); int lc=la+lb-1; int ta[maxn],tb[maxn]; for...
分类:
其他好文 时间:
2015-04-15 22:39:37
阅读次数:
150
题目大意:在原本的汉诺塔游戏基础上加一根柱子,移动策略是:要移动N个汉诺塔,先用4根柱子把K个到一个柱子,然后用其余3根把剩下的N-K个移动到目标柱子,再用4根把初始的K个移动到目标柱子。
关键的问题是找到每个N的K是多少,观察可以发现规律是:随着K的递增,其实移动的次数Fn(K)先递增后递减,然后F1(K),F2(K),...的最大值随着K的增大递增。要形式化证明似乎比较困难。。不过在...
分类:
其他好文 时间:
2015-04-15 14:57:30
阅读次数:
214
题目大意:
求N!有多少位。1<=N<=10^7。
思路:
N的规模很大。不能直接模拟求位数。先考虑这种做法:
设A = N! = 1*2*3*4*…*N,那么位数就是(int)log10(A) + 1
而(int)log10(A) = log10(1*2*3*…*N) = log10(1) * log10(2) * log10(3) * … * log10(N)
这样累加起来就是结果了。不过因为N是10^7规模的,所以这样累加在HDU上可以AC,但是
POJ上还是超时的。
应该用斯特林公式来做。Sti...
分类:
其他好文 时间:
2015-04-14 19:49:23
阅读次数:
167
初期(校赛及省赛水题难度):一.基本算法:(1)枚举. (poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法.(4)递推.(5)构造法.(poj3295)(6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj...
分类:
编程语言 时间:
2015-04-14 12:39:33
阅读次数:
185