摘要: 先找各阶段的状态,再dp规律是:2*1的不同的数目为2;2*2的不同的数目为7;2*3的不同的数目为8;以下全为8,注意这里说的不同的数目是指2*n中横跨n个格的放法,即不可分割的放法。#include#includeusing namespace std;int dp[101];int main(... 阅读全文
posted @ 2011-10-21 21:17 DChipNau 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 贪心,弄个2重循环,每次取最优就可以了。#include#include#include#include using namespace std;int a[52];int main(){ int n,k; while(scanf("%d%d",&n,&k)!=EOF) { int i,j; for... 阅读全文
posted @ 2011-10-21 19:54 DChipNau 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 据说要用dp,不过我用的是BFS,就是从上下左右四个方向压缩,在余下的面积不小于max的情况下一直到压缩出全为一的子阵,然后更新max的值,反复进行这个操作,即一开始的矩阵为:1 1 1 10 0 0 01 1 1 10 0 0 0可以压缩为:0 0 0 0 (去掉第一行)1 1 1 10 0 0 ... 阅读全文
posted @ 2011-10-21 17:56 DChipNau 阅读(127) 评论(0) 推荐(0) 编辑