Corn FieldsTime Limit:2000MSMemory Limit:65536KTotal Submissions:9806Accepted:5185DescriptionFarmer John has purchased a lush new rectangular pasture ...
分类:
其他好文 时间:
2015-08-06 01:51:40
阅读次数:
215
该题其实是个DP,可能数据比较水,队友排序后从大的开始取都过了。。
我们来说说正解,一开始其实我已经写出来了,只是有一个地方导致了一直在输出一个不是数字的值,赛后才发现是我用memset对一个double类型的数组清-1的原因 ,改了一下就对了 。 直接开一维数组,用二进制表示集合的方法来表示哪些木棍被选取了 。 很简单的状态压缩DP 。
我用的记忆化搜索,该题还可以用三重循环地推...
分类:
其他好文 时间:
2015-08-02 21:37:14
阅读次数:
124
没看过TSP,先mark 1 //4838039 2011-10-27 23:04:15 Accepted 4026 2343MS 31044K 3143 B C++ Geners 2 //状态压缩DP的TSP问题 3 //优先级位运算小于判等 , 还有各种细节各种出错 4 #include...
分类:
其他好文 时间:
2015-07-31 23:16:07
阅读次数:
233
题目链接:http://poj.org/problem?id=3254
题目意思:给你一个n*m的牧场,叫你带牛去吃草,其中0代表没有草不可以放牧,1代表有草可以放牧。而且两头牛不可以相邻,叫你求所有可能的放牧方案。
思路:这是个状态压缩的基础题,刚学状态压缩的可以用这个题目来理解状态压缩;(如果是刚学DP我建议理解题意后先粗略的看一下代码后再边看代码边看我的思路,效果更佳)
...
分类:
其他好文 时间:
2015-07-30 00:47:54
阅读次数:
133
题意:转化为01序列,可以做如下转换011–>100, 110–>001
使得序列的1最少二进制的集合表示:
空集:0
全集:(1<
#include
#include
#include
#include
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2015-07-29 19:18:38
阅读次数:
106
题意:转化为01序列,可以做如下转换011-->100, 110-->001
使得序列的1最少
二进制的集合表示:
空集:0
全集:( 1
集合里添加元素:S|(1
集合删去元素:S&~(1
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#incl...
分类:
其他好文 时间:
2015-07-29 19:17:42
阅读次数:
145
最近才看书,看到状态压缩。对于状态压缩,其实就是集合上的DP。
这需要我们了解一些位运算:
集合{0,1,2,3,....,n-1}的子集可以用下面的方法编码成整数
像这样,一些集合运算就可以用如下的方法来操作:
1.空集....................0
2.只含有第i个元素的集合{i}................1
3.含有全部n个元素的集合{0,1,2,3,.....
分类:
其他好文 时间:
2015-07-28 21:15:59
阅读次数:
115
// 此博文为迁移而来,写于2015年7月15日,不代表本人现在的观点与看法。原始地址:http://blog.sina.com.cn/s/blog_6022c4720102w6jf.html1、前言动态规划,永远的痛。好了不扯远了。状态压缩动态规划,其实看名字还是较好理解的。我们在动态规划的时候,...
分类:
其他好文 时间:
2015-07-28 18:03:12
阅读次数:
168
题意:一个n*m的矩阵,每个格子是0或者1,1表示土壤肥沃可以种植草地,0则不可以。在种草地的格子可以放牛,但边相邻的两个格子不允许同时放牛,问总共有多少种放牛的方案(不放牛也算一种情况)
思路:状态压缩(感觉不大像dp。。)dp[i][j]表示第i行状态为j时符合条件的方案数
我们可以先求出一行的所有可行状态以十进制存到v_status数组中, 然后再排除。
接下来输入土地状态的时候需...
分类:
其他好文 时间:
2015-07-27 19:07:35
阅读次数:
86
题意:用1*2的方格填充m*n的方格不能重叠,问有多少种填充方法分析:dp[i][j]表示i行状态为j时的方案数,对于j,0表示该列竖放(影响下一行的该列),1表示横放成功(影响下一列)或上一列竖放成功。状态转移时,枚举每一行可能的状态上一行取反得下一行能放的状态。#include #include...
分类:
其他好文 时间:
2015-07-24 16:06:44
阅读次数:
91