递推
文章平均质量分 56
SeeYouAlways
practice make perfect
展开
-
Hdu 2175 汉诺塔IX 递推
题意:汉诺塔问题,求出第m次搬的是哪个盘子 思路:可以发现规律: 121 1213121 121312141213121 1213121412131215121312141213121 代码: #include #include #include #include #include #include #include #include #define lson l原创 2013-09-06 21:53:33 · 738 阅读 · 0 评论 -
Hdu 1018 Big Number 求N!的位数
题意:求n!的位数 根据斯特林[striling]公式:log10(1)+log10(2)+log10(3)+.....+log10(n)取整后加1 代码: #include #include #include #include #include #include #include #include #define lson l,mid,num<<1 #define rson原创 2013-09-07 22:20:06 · 569 阅读 · 0 评论 -
Hdu 1597 find the nth digit
题意: 假设: S1 = 1 S2 = 12 S3 = 123 S4 = 1234 ......... S9 = 123456789 S10 = 1234567891 S11 = 12345678912 ............ S18 = 123456789123456789 .................. 现在我们把所有的串连接起来 S = 1121231原创 2013-09-07 21:56:25 · 684 阅读 · 0 评论 -
Uva 10128 - Queue 递推
题意:有n个人,身高各不相同排成一列,问从左边看可以看到p个人和从右边看可以看到k个人的排列数,其中矮的人被高的人挡掉看不到 思路:设立数组dp[i][j][k]表示前i个人从左边可以看到j个人,从右边可以看到k个人的排列数 刚开始队列为空,按身高从高到底依次放,若把第i个人放在最左边,则从左边看到的人数加1,若放在右边,则右边看到的人数加1,若放在中间,有(i-2)个位置可以放,放后排列数不原创 2013-09-28 22:39:08 · 732 阅读 · 1 评论 -
Uva 11069 - A Graph Problem 递推
题意:有n个数,问满足下列两个条件时可以分成几个子集 1.子集中两个元素的差s要2 2.子集尽可能的长,如1 3 5,不能1 5,因为3还可以插到1 5中间 思路:用dp[i]表示用前i个数能形成的子集,对于dp[i]来说,决定它的是dp[i-2]或者dp[i-3],有第i个元素的子集必定有第i-2个或者第i-3个元素的子集 代码: #include #include #incl原创 2013-09-28 22:47:11 · 501 阅读 · 0 评论