题意:给定mxn的棋盘,要往其中放d枚棋子,其中,一枚棋子的上下左右四个位置不能再放棋子。求所有合法的放置状态 ( 0= n , 这个递推棋盘就有 m行 ,每行至多有 2^n-1个状态数。其实,没有这么多!按照题意,每个1的上下左右不能有1。对于一行,只知左右,所以把有连续1的状态排除. t为剩下的...
分类:
其他好文 时间:
2015-05-05 23:47:38
阅读次数:
188
合并游戏 题目链接
题意 : n个石子, 给你一个n*n矩阵, A[i][j]表示第i个和第j个合并蹦出的金币值, 合并完石子j消失。求合并所有石子后,所得的最大金币数。
分析 :
1、 题中给的数据范围 n(1<=n<=10) 也就是说最多10个石子, 那么我们不妨用一个二进制串来表示合并的状态,1表示没被合并,0表示合并后消失了,例如(1001)四个石子第2、3个被合并了。
2、...
分类:
其他好文 时间:
2015-05-05 08:56:28
阅读次数:
107
题意 : n个石子, 给你一个n*n矩阵, A[i][j]表示第i个和第j个合并蹦出的金币值, 合并完石子j消失。求合并所有石子后,所得的最大金币数。分析 : 1、 题中给的数据范围 n(1(1100, 1001, 0101) , 1011 —> (1010, 1001, 0011) , 01...
分类:
其他好文 时间:
2015-05-04 23:36:44
阅读次数:
172
#include
using namespace std;
#define INF 0x7ffffff
#define maxn 20
int n;
int dp[1<<maxn][maxn];
int d[maxn][maxn];
int dfs(int S, int v)
{
if(dp[S][v] != -1) return dp[S][v];
if(S==(1<<...
分类:
其他好文 时间:
2015-05-04 22:06:40
阅读次数:
164
题意: 洛克人最初只有一种武器 “Mega Buster”(这种武器可以消灭特定的一些机器人),你需要按照一定的顺序消灭 n 个其他机器人。每消灭一个机器人你将会得到他的武器(也可能没有得到武器),而这些武器可以消灭特定的机器人。你的任务是计算出消灭所有机器人的顺序总数。注意:一个机器人的武器可能可以消灭自己,但这对最终答案没有影响,因为必须先消灭这个机器人才能够得到他的武器。
思路:n 的范围为 [1,16],可以用状态压缩DP来做,用二进制保存状态。时间复杂度为 O(n*2^n) 。首先用 weapo...
分类:
其他好文 时间:
2015-05-04 20:19:43
阅读次数:
122
状态压缩DP和普通DP唯一的区别就是它所枚举的对象不再是一个整数,而是一个集合,解决的策略就是利用二进制将这个集合压缩成一个整数。
对于该题,dp[s][v]表示:s表示在该城市剩下的车票集合,v表示在城市v,dp表示在该状态的最小话费。
影响决策的因素有一下几个:
1.一共使用哪几个车票(包括数量和种类)
2.当前从哪个城市到哪个城市
3.使用哪个车票完成两个城市的转移
所以一共需要...
分类:
其他好文 时间:
2015-05-04 18:04:42
阅读次数:
136
位运算是状态压缩DP的基础。C/C++中的位运算算符(按优先级排序):! ~ (bitwise NOT) 按位非 ~x* / %+ -> >= > (bitwise left shift and right shift) 按位左移、右移 x>>y x>>=y== !=& (bitwise AND) ...
分类:
其他好文 时间:
2015-05-03 17:25:35
阅读次数:
94
给定n个顶点做成的图,要求从顶点0出发经过所有点一次然后回到0点的一条权值之和最小的一条路的权值
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 100000000
using namespace std;
struc...
分类:
其他好文 时间:
2015-05-02 09:46:02
阅读次数:
151
首先比较容易想到是状态压缩DP令$f[S]$表示选取了集合$S$以后,已经送了最少次数cnt且当前电梯剩下的体积rest最大(即$f[S]$是一个二元组(cnt, rest))于是$f[S] = min_{i \in S} f[S - {i}] + v[i]$$11 #include 12 13 ....
分类:
其他好文 时间:
2015-05-01 22:30:27
阅读次数:
230
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 100000000us...
分类:
其他好文 时间:
2015-05-01 09:25:02
阅读次数:
131