ACM-dp
qiankun1993
这个作者很懒,什么都没留下…
展开
-
joj2474
先找各阶段的状态,再dp 规律是: 2*1的不同的数目为2; 2*2的不同的数目为7; 2*3的不同的数目为8; 以下全为8,注意这里说的不同的数目是指2*n中横跨n个格的放法,即不可分割的放法。 #include #include using namespace std; int dp[101]; int main() { int n,i; mem原创 2011-10-21 21:17:12 · 380 阅读 · 0 评论 -
joj 1387
又见0-1背包,长度既是价值也是体积。 #include #include using namespace std; int dp[100000]; int cd[105]; int main() { int cd_sto; while(scanf("%d",&cd_sto)!=EOF) { int n; scanf(原创 2011-11-04 20:32:14 · 389 阅读 · 0 评论 -
joj1026
copy来的思想,果然自己还很菜啊 递归方程式如下(f(i,j)为i个砖头,第一排为j个的摆发): f(i,j)=f(i-j,j+1)+f(i-j,j+2)+...+f(i-j,floor((i-j-1)/2) #include #include using namespace std; double p[501][501]; int main() { int i,j,原创 2011-11-06 20:53:14 · 408 阅读 · 0 评论 -
joj 2717
水题,应用简单dp,含i个字符的串的个数等于i-1个字符的串的个数*2(包扩加上0和加上1),再减去最后3个字符是011的情况。 #include #include using namespace std; double dp[41]; int main() { memset(dp,0,sizeof(dp)); dp[0]=1; dp[1]=2;原创 2011-11-10 19:50:00 · 348 阅读 · 0 评论