状态压缩DP
文章平均质量分 69
MYBHB_mio
这个作者很懒,什么都没留下…
展开
-
【状压DP】【cofun1155】奶牛乘电梯
【cofun1155】奶牛乘电梯Description 有 N 头奶牛需要乘电梯上楼,第 i 头奶牛重 Wi,电梯的载重上限是 C,请问电梯最少往返几次 才能运完所有的奶牛?Input Format • 第一行:两个整数 N 和 C,1 ≤ N ≤ 18; 1 ≤ C ≤ 10^8 • 第二行到第 N + 1 行:第 i + 1 行有一个整数 Wi,1 ≤ Wi ≤ C Output Form原创 2017-10-20 17:14:47 · 444 阅读 · 0 评论 -
【状压DP】【cofun1374】trip
【cofun1374】trip分析:宝藏数<= 13,考虑状压DP。 ①bfs出宝藏,起点,终点之间的距离。 ②把起点,宝藏,终点压进二进制(0:该宝藏已取到/ 1:该宝藏未取到),状压DP转移方程:s[i][j] = min(s[i][j], s[i - (1 << j)][l] + d[l][j]);s[i][j]:取到第i个宝藏状态为j的最少步数。代码:#include <bit原创 2017-10-13 08:35:19 · 322 阅读 · 0 评论 -
【状压DP】【cofun1376】kings
【cofun1376】kingsDescription 用字符矩阵来表示一个8x8的棋盘,’.’表示是空格,’P’表示人质,’K’表示骑士。 每一步,骑士可以移动到他周围的8个方格中的任意一格。如果你移动到的格子中有人质(即’P’),你将俘获他。但不能移到出棋盘或当前是’K’的格子中。 请问最少要移动多少步骑士才能俘获所有的人质。Input Format 第一行一个整数N(<=5),表示有多少个原创 2017-10-13 09:49:02 · 640 阅读 · 0 评论 -
【状压DP】【cofun1623】寿司晚宴
【cofun1623】寿司晚宴Sample Input 输入样例1 3 10000 输入样例2 4 10000 输入样例3 100 100000000 Sample Output 样例输出1 9 样例输出2 21 样例输出3 3107203Hint 分析: 题意:把一个数的集合分为两个集合,记为G,M, 显然,G中数的质因子与M中数的质因子应互不原创 2017-10-13 11:11:11 · 334 阅读 · 0 评论 -
【状压DP】【cofun1895】队伍统计
【cofun1895】队伍统计原创 2017-10-13 15:21:06 · 351 阅读 · 0 评论 -
【状压DP】【cofun1375】麦田
Description 话说公元199年,曹操准备与袁绍进行官渡决战。为整肃军纪,曹操下令:“全军将士,上至统帅,下至马佚,行军训练,不准践踏庄稼,不准倒犯民利,违令者斩首。”遇有麦场,骑兵下马,扶麦而行。百姓见状,交口称赞。不巧,在一次出巡时,曹操乘坐的战马受惊,跃入麦田,践踏了一片麦苗。曹操当即下马,请求主簿依军令将自己斩首示众。在众将领劝说下,割发代首,以儆效尤,此事才算了结。然而,为了赢得原创 2017-10-16 10:19:36 · 382 阅读 · 0 评论 -
【总结】状压DP
对于状压DP的理解和总结一般来说,状压是把多种状态(方案,集合等等)hash进二进制数中,0表示该状态不存在,1表示该状态存在(也有用三进制等等,如算路径一点可经过2次),所以首先应掌握位运算。到目前为止做到的状压大致是棋盘模型和覆盖模型,但是DP中状态种类<=20的应该都可以考虑状压。DP中的状态有的可以直接表示,有的要用dfs,bfs等等先处理出来,状压DP除了要压状态外其实和普通DP一样原创 2017-10-19 16:47:15 · 993 阅读 · 0 评论 -
【状压DP】【cofun1372】售货员难题
【售货员难题】(cofun1372)Description 某乡有n个村庄(1<=n<=14),有一个售货员,他要到各个村庄去售货,各村庄之间的路程s(0< s<1000)是已知的,且A村到B村与B村到A村的路程大多不同。为了提高效率,他从商店出发到每个村庄一次,然后返回商店所在地,假设商店所在的村庄为1,他不知道选择什么样的路线才能使所走的路程之和最短。请你帮他选择一条最短的路。 Input原创 2017-10-12 23:28:33 · 390 阅读 · 0 评论 -
【状压DP】【cofun1368】炮兵阵地
【cofun1368】炮兵阵地Description 司令部的将军们打算在NM的网格地图上部署他们的炮兵部队。一个NM的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示: 如果在地图中的灰色所标识的平原上部署一支炮兵部队,原创 2017-10-12 23:42:58 · 693 阅读 · 0 评论 -
【状压DP】【cofun1373】中国象棋(cchess)
【cofun1373】中国象棋(cchess)Description 在N行M列的棋盘上,放若干个炮(可以是0个),使得没有任何一个炮可以攻击另一个炮。 请问有多少种放置方法,中国象棋中炮的行走方式大家应该很清楚吧.Input Format 两个整数n,m Output Format 方案总数 mod 9999973Sample Input 1 3 Sample Output 7Hin原创 2017-10-13 00:05:30 · 691 阅读 · 0 评论 -
【状压DP+高精】【cofun1370】走道铺砖问题
【cofun1370】走道铺砖问题Description 有一个专门为装修设计方案的设计师。在某一天,他接到了一个项目,为一栋正在修建的大楼设计走道的地板铺设方案。此项目的委托人事先便进行了说明:地板砖只有1×2一种规格,而整栋楼中同类走道又有许多个,他不想其中有任何的两个出现重复的设计方案。因此,设计师必须确定其可行性,即对于一个N×M(N×M为偶数)的走道,用N×M/2块1×2的地板砖将其铺满原创 2017-10-13 01:00:21 · 1541 阅读 · 0 评论 -
【状压DP】【cofun1040】混乱奶牛
【cofun1040】混乱奶牛Description 约翰家有N头奶牛,第i头奶牛的编号是Si,每头奶牛的编号都是唯一的。这些奶牛最近在闹脾气,为表达不满的情绪,她们在挤奶的时候一定要排成混乱的队伍。在一只混乱的队伍中,相邻奶牛的编号之差均超过K。 比如当K = 2时,1, 3, 5, 2, 6, 4就是一支混乱的队伍,而1, 3, 6, 5, 2, 4不是,因为6和5只差1。请数一数,有多少种原创 2017-10-20 17:02:03 · 608 阅读 · 0 评论 -
【状压DP】【cofun1760】angrybirds
【cofun1760】angrybirdsDescription 分析: 1 <= n <= 18 考虑状压DP ①显然函数种类<=n^2,用数组g[i][j]表示打i,j这两只小猪的函数能打到的所有小猪的情况(0:该小猪在函数上/ 1:该小猪不在函数上),可解方程求出函数,然后判断小猪是否符合函数。 ②状压DP,转移方程: f[i | g[j][k]] = m原创 2017-10-13 07:47:29 · 355 阅读 · 0 评论