摘要: 简单的压缩状态dp 1 /* 2 状态压缩dp 3 同hdu2167 4 利用滚动数组!! 5 */ 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #include13 #include14 #include15 using namespace std;16 const int maxn = 20;17 int binary[ maxn+5 ];18 int s[ 1<<(maxn) ];19 //int sum[ maxn ][ 1<<maxn ];20 //int dp[ ma 阅读全文
posted @ 2013-08-03 22:47 xxx0624 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 状态压缩dp详见代码 1 /* 2 状态压缩dp 3 dp[ i ][ j ]:第i行j状态的最大和 4 dp[i][j] = max( dp[i-1][k]+sum[i][j] ); 5 题意:给定一个N*N的方格,让你在里面取出一些数使其和最大,要求每一个数不能与其相邻的8个数同时取出 6 */ 7 #include 8 #include 9 #include10 #include11 #include12 #include13 #include14 #include15 #include16 using namespace std;17 const int maxn = 15;18 in 阅读全文
posted @ 2013-08-03 21:56 xxx0624 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 错排公式。用64位! 1 /* 2 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #include13 using namespace std;14 typedef __int64 int64;15 const int maxn = 1005;16 const int64 mod = 1000000007;17 int main(){18 int64 a[ 105 ];19 //printf("%d\n",mod);20 a[... 阅读全文
posted @ 2013-08-03 20:21 xxx0624 阅读(287) 评论(0) 推荐(0) 编辑