简单状压DP,忘 了初始化,忘 了&和==的优先级,坑了我十几个WA。#include #include #include #include using namespace std;int dp[110][222][222];int row[110];int status[1>=1; } retur...
分类:
其他好文 时间:
2015-04-12 13:12:15
阅读次数:
134
// poj 1185 炮兵阵地 状压dp
// 这题和之前做的棋子的差不多,只是这个比之前的变化了一个条
// 件,这个条件让的我们不得不考虑在这个状态之前的状态,即在
// 一个状态中记录另外一个状态,说的可能有些绕
// 这么说吧: dp[i][S][V]表示第i行状态为S(仍然是二进制的数字
// 表现形式,比如5是101,表示第一列和第三列放炮兵),第i-1行
// 的状态为V(同样是二...
分类:
其他好文 时间:
2015-04-10 20:13:21
阅读次数:
113
//参考了挑战程序设计第二版的tsp,dp[S][v]表示在已经访问了集合S中的点情况下
//从出发访问剩下的节点并回到0号起点的最少花费dp[V][0]都是0,
//从0号节点回到0花费肯定是0,
//dp[S][v] = min(dp[S|{u}][u]+d[v][u],dp[S][v]){u不在当前的集合中}
//这样我们从[0,0]这个状态开始进行记忆化搜索,就一定能得到我们想要的答案
/...
分类:
其他好文 时间:
2015-04-08 21:37:26
阅读次数:
123
ac自动机加状压dp加广搜优化#include#include#include#include#include#includeusing namespace std;const int maxa = 500;const int cha = 4;int n, m, k;int num_[4];map ...
分类:
其他好文 时间:
2015-04-06 12:47:18
阅读次数:
181
题目大意:给定一张点数不超过10的无向连通图,每条边有一个[0,1]之间的随机权值,求最小生成树上最大边的期望值
此生无悔入东方,来世愿生幻想乡
OTZ
首先既然权值在[0,1]之间均匀分布那么两条边权值相同的概率为0 于是我们只考虑所有边边权都不同的情况
如果最小生成树上的最大边为x,那么权值小于x的边一定不能将这个图连通,而权值
因此对于一个x,如果我们求出【只有边权小于x的边存在时...
分类:
其他好文 时间:
2015-04-04 09:19:47
阅读次数:
147
Description
The Pizazz Pizzeria prides itself in delivering pizzas to its customers as fast as possible. Unfortunately, due to cutbacks, they can afford to hire only one driver to do the deliveri...
分类:
其他好文 时间:
2015-04-01 15:32:04
阅读次数:
195
题意:有一个字符串s[1] 一个字符串 s[2],s[k] = s[k-1] + s[k-2] , 给你 K(第几个字符串) ,x(‘AC'的个数), n(s[1]的长度),m (s[2]的长度)。构造S[1] ,S[2]使得满足条件解题思路:状压 + dp,枚举 s[1] 中S[2]中AC的个数,...
分类:
其他好文 时间:
2015-03-31 00:24:30
阅读次数:
164
好题。果然好题,经典了。列一个计划,清明前做好状压DP。之后就刷剩下的MULTI。#include #include #include #include using namespace std;const int Status=(1>2))||(i&(j>>2))) crashpo[i][j]=tr...
分类:
其他好文 时间:
2015-03-30 22:56:56
阅读次数:
182
转载请注明出处:http://www.cnblogs.com/fraud/ ——by fraudD. Xenia and DominoesXenia likes puzzles very much. She is especially fond of the puzzles that consist...
分类:
其他好文 时间:
2015-03-30 01:19:44
阅读次数:
176
题意:一个送外卖的人,要将外卖全部送去所有地点再回到店离,求最短路。(可以重复经过边)
思路:由于可重复走某些边,所以先求各个点的最短路,再TSP
dp[i][s] 表示目前在i点还需要遍历s集合后回到0点的最短路径
边界条件就是dp[i][0]=dis[i][0]
//196 KB 0 ms C++ 1190 B
#include
#include
#include
#include
...
分类:
其他好文 时间:
2015-03-29 22:17:56
阅读次数:
245