题意:
给一块m行n列的土地,有一些格可以种树,另外一些不可以,树不能相邻,问一共有多少种种法。
分析:
从后往前种,子问题向父问题扩展,当种到某一格时只有他和他后面的n-1个格子的情况对它有影响,故对这n个格子进行编码为状态S,表示种完(多米诺骨牌那题是放置前,注意区别,都可行)这n个格子的状态。父问题由稍小子问题逐步解决,正是动态规划的思想。
代码:
//poj 3254
//sep...
分类:
其他好文 时间:
2015-03-16 07:34:31
阅读次数:
149
题意:
裸的tsp。
分析:
用bfs求出任意两点之间的距离后可以暴搜也可以用next_permutation水,但效率肯定不如状压dp。dp[s][u]表示从0出发访问过s集合中的点,目前在点u走过的最短路程。
代码:
//poj 2688
//sep9
#include
#include
using namespace std;
const int maxW=32;
const ...
分类:
其他好文 时间:
2015-03-15 10:57:59
阅读次数:
153
Problem Description:
Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline of handing in the homework. If Ignatius hands in...
分类:
其他好文 时间:
2015-03-14 15:29:51
阅读次数:
171
http://poj.org/problem?id=3279明显,每一位上只需要是0或者1,遍历第一行的所有取值可能,(1#include #include #include using namespace std;int maz[15][15];int op[15][15];int ans[15]...
分类:
其他好文 时间:
2015-03-14 15:06:25
阅读次数:
186
http://poj.org/problem?id=1143
Description
Christine and Matt are playing an exciting game they just invented: the Number Game. The rules of this game are as follows.
The players take turns ch...
分类:
其他好文 时间:
2015-03-14 11:05:08
阅读次数:
161
状态压缩dp其实就是 将状态表示成二进制,然后用位运算进行求解poj 3311Hie with the PieTime Limit:2000MSMemory Limit:65536KTotal Submissions:5080Accepted:2706DescriptionThe Pizazz Pi...
分类:
其他好文 时间:
2015-03-13 20:21:21
阅读次数:
185
Corn FieldsTime Limit:2000MSMemory Limit:65536KTotal Submissions:8729Accepted:4651DescriptionFarmer John has purchased a lush new rectangular pasture ...
分类:
其他好文 时间:
2015-03-13 09:18:46
阅读次数:
123
题目:给你一个n*n的表格,两个人轮流进行操作,每次在一个位置放上或者拿下一个棋子;
如果某一状态,之前出现过,则对方获胜,问谁获胜,如果没人获胜,输出Draw。
分析:DS,数据结构,hash函数,状态压缩。
将每一行存到一个位中,用一个一维数组表示一个状态,然后利用hash表存储查找即可。
说明:注意旋转后的状态认为是相同的。
#inc...
分类:
其他好文 时间:
2015-03-11 23:31:51
阅读次数:
410
最多有15种食物,然后对于每种食物有选或者不选两种情况,所以总的情况数只有2^15种,我们可以借助状态压缩,穷举出所有的状态,然后求出最好的情况。代码如下:/*
ID: 15674811
LANG: C++
TASK: holstein
*/#include
#include
#include
#include
using na...
分类:
其他好文 时间:
2015-03-11 14:52:29
阅读次数:
93
题目大意:有n个物品,每个物品有m个特征,每个物品的每个特征都可能有或没有,现在假定某个物品,通过询问某些特征来确定这个物品,问最多需要多少次就可以确定物品。
每次询问之后可能根据答案不同来采取不同的进一步询问的策略。
用d[S][S0]表示目前询问了S,得到的回答是S0(即那个物品在S中有S0这些特征),最少还需询问多少次。枚举下一次询问的特征完成递推。最终d[0][0]就是答案。S...
分类:
其他好文 时间:
2015-03-11 09:24:10
阅读次数:
106