摘要:
http://poj.org/problem?id=1322题目大意:c种颜色的巧克力,拿出n块,桌子上有m块的概率是多少。如果桌子上出现相同颜色的巧克力那么将2块都吃掉分析:1》台上的巧克力数和当前拿出的巧克力的颜色有关系,设dp[i][j]表示拿出第i块的时候台上有j块巧克力的概率。巧克力i的颜色有两种情况:与桌上的巧克力颜色相同或者是与桌上的巧克力颜色不同状态转移方程为:dp[i][j]=dp[i-1][j-1]*p1+dp[i-1][j+2]*p2;p1=(c-j+1)/c,p2=(j+1)/c;2》状态i仅和i-1有关,可以进行空间上的优化,用滚动数组实现3》当拿出2*n+1奇数次巧 阅读全文
摘要:
http://poj.org/problem?id=1189设经过位置(i,j)的小球个数为P(i,j),那么落入格子m的小球个数为p(n+1,m),那么概率就是p(n+1,m)/2^n。假设位置(i,j)有铁钉,那么各有p(i,j)/2个小球落入位置(i+1,j)和位置(i+1,j+1);否则球全部落入(i+2,j+1)的位置。代码如下:View Code /*POJ 1189钉子和球*/ #include<stdio.h>#include<string.h>#include<iostream>using namespace std;long long p 阅读全文
摘要:
http://poj.org/problem?id=11791》给出的样例,取得的最优值为去掉2边后结果为:4*2*5-7=33。2》对于加法两个最优的相加肯定是最优的,但是对于乘法:求最大值:正数X正数两个都是最大的结果最大正数X负数正数最小,负数最大结果最大负数X负数两个都是最小值结果最大求最小值:正数X正数两个都是最小值结果最小正数X负数正数最大,负数最小结果最小负数X负数两个都最大结果最小要保存子问题的最大值和最小值,还具有点最优子结构,可以用动态规划求解。fmin(i,L)表示以i为首,顺时针长度为L的链的计算结果最小值。fmax(i,L)表示以i为首,顺时针长度为L的链的计算结果最 阅读全文
摘要:
http://poj.org/problem?id=1338b最小的丑数是1,以后的丑数为在以前的基础上进行*2,*3,*5....那么设第i个丑数为F[i]=min{F[n2]*2,F[n3]*3,F[n5]*5},其中n2,n3,n5....表示进行衍生丑数的下标。暴力的打出1500个丑数要很久很久....才出来结果....代码如下:View Code /* POJ 1338丑数*/#include<stdio.h>#include<iostream>using namespace std;long long f[1505];long long minx(long 阅读全文
摘要:
http://poj.org/problem?id=11911>根据公式化简:其中后者是一个已知数。求均方差的最小值就是求出个个棋盘内各数值的平方和最小值。2>棋盘分割分四种情况:竖切(左不动),竖切(右不动),横切(上不动),横切(下不动);3>状态转移方程:f(i,x1,y1,x2,y2)表示以(x1,y1),(x2,y2)为四边形对角线的棋盘切割成i块的各块值总平方的最小值;D(x1,y1,x2,y2)表示棋盘的总分_____________|f(i-1,x1,a+1,x2,y2)+D(x1,y1,x2,a)[横切(上不动)]|f(i-1,x1,y1,x2,a)+D(x 阅读全文