原文:http://www.futilitycloset.com/2015/06/28/made-to-order-4/当高精度计算 1/999999999999999999999998999999999999999999999999,把小数位展开,每隔24个数,可以发现居然是Fibonacci数列...
分类:
其他好文 时间:
2015-07-02 11:57:06
阅读次数:
261
HDU 4828 Grids思路:能够转化为卡特兰数,先把前n个人标为0。后n个人标为1。然后去全排列,全排列的数列。假设每一个1的前面相应的0大于等于1,那么就是满足的序列,假设把0看成入栈,1看成出栈。那么就等价于n个元素入栈出栈,求符合条件的出栈序列,这个就是卡特兰数了。然后去递推一下解,过程...
分类:
其他好文 时间:
2015-07-01 13:48:15
阅读次数:
128
题意:
求s(n,0)+s(n,1)+...s(n,n),s(i,j)为第二类Stirling数。
分析:
有递推公式s(p,k)=(p-1)*s(p-1,k)+s(p-1,k-1) ,1
代码:
//poj 1671
//sep9
#include
using namespace std;
double s[64][64];
double sum[64];
int main()
{
...
分类:
其他好文 时间:
2015-07-01 10:01:04
阅读次数:
121
??
给出一个柱形统计图中,求其中的最大矩形面积
做完这道题,搜了一下题解大部分基本都是单调栈......然而做之前并不知道这是什么,其实用递推也可以做这道题,理解起来比较容易。
用两个数组l,r记录当前坐标可以向左和向右延伸的最远位置的坐标,然后就是递推了。
初始时将l[i],r[i]的值置为i,即自己的坐标。这里拿l[i]举例:
从左向右扫描统计图,计算当前位置的l[i]时,如果...
分类:
其他好文 时间:
2015-06-30 22:04:13
阅读次数:
193
高精度模板,留个备份: 1 #include 2 #include 3 4 struct BigNumber 5 { 6 static const long long BASE = 1000000000; 7 static const int BASEDIGS =...
分类:
其他好文 时间:
2015-06-30 14:22:13
阅读次数:
118
题意:有些数字是可以这样的:abcd*k=dabc,例如179487 * 4 = 717948,仅仅将尾数7移动到前面,其他都不用改变位置及大小。这里会给出3个数字b、d、k,分别代表b进制、尾数、第2个乘数。既然是尾数,必有d 2 #define LL long long 3 using name...
分类:
其他好文 时间:
2015-06-29 06:11:01
阅读次数:
95
HDU 2669ex_GCDHDU 1576逆元,ex_GCDHDU 4828卡特兰数假设,依次放1-n,放第一排记为0,放第二排记为1,题目的条件就转化为卡特兰数的条件了附:线性求逆元,卡特兰数(递推) p[1] = 1; for (int i = 2; i < 1000003; i+...
分类:
其他好文 时间:
2015-06-29 00:24:32
阅读次数:
131
多重背包问题的优化版来做,详见之前的动态规划读书笔记。dp[i][j]表示前i中数加得到j时第i种数最多剩余几个(不能加和得到i的情况下为-1)递推式为:dp[i][j]=mi(dp[i-1][j]≥0,即前i-1种数就能达到数字j) =-1(j#include#includeusing nam.....
分类:
其他好文 时间:
2015-06-28 18:48:54
阅读次数:
139
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜...
分类:
其他好文 时间:
2015-06-27 21:25:25
阅读次数:
174
很多刚学习JAVA的童鞋不明白为什么int型有时候强转为byte时会变为负数。这是因为不明白JAVA中数值的表示机制。JAVA中规定用二进制补码的方式表示一个负数。有了上面的概念之后我们就知道为什么高精度转换低精度类型时有时会变成负数。比如 int 232转为byte时值 变为-24转换过程如下:2...
分类:
编程语言 时间:
2015-06-27 21:23:10
阅读次数:
152