E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
状态压缩dp
poj 3254
状态压缩DP
思路:把每行的数当做是一个二进制串,0不变,1变或不变,找出所有的合法二进制形式表示的整数,即相邻不同为1,那么第i-1行与第i行的状态转移方程为dp[i][j]+=dp[i-1][k]; 这个方程得前提条件是num[i][j]&num[i-1][k]==0,也就是他们表示的二进制形式相与为0,那么就不存在相邻为1的情况。 #include<iostream> #inc
·
2015-11-13 02:45
poj
hdu1565 网络流或
状态压缩DP
对于网络流有一个定理: 最小点权覆盖集=最大网络流; 最大点权独立集=总权值-最小点权覆盖集; 网络流解法代码如下: #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define N 1010 #define M 50010 #
·
2015-11-13 02:48
HDU
hdu 4739 状压DP
这里有
状态压缩DP
的好博文 题目:题目比较神,自己看题目吧 分析: 大概有两种思路: 1.dfs,判断正方形的话可以通过枚举对角线,大概每次减少4个三角形,加上一些小剪枝的话可以过。
·
2015-11-13 00:31
HDU
HDU3362+状态压缩
1 /* 2
状态压缩dp
3 dp[i] = min( dp[ i-j ]+cost[ j ] ); 4 由i-j的状态转到i的状态 5 */ 6 #include<stdio.h
·
2015-11-13 00:40
HDU
hdu 4144
状态压缩dp
#include<map> #include<set> #include<cmath> #include<queue> #include<cstdio> #include<vector> #include<string> #include<cstdlib> #include<cst
·
2015-11-13 00:56
HDU
POJ 2978
题解:
状态压缩DP
,并不算太复杂,dp[i][j][mask]代表前i个珠子,以j结尾,且前面已经出现了mask珠子的最小代价。
·
2015-11-13 00:04
poj
状态压缩 -- POJ 1185 炮兵阵地【
状态压缩DP
】
POJ 1185 炮兵阵地 核心算法:dp状态压缩中文题分析: graph[i]存储第i行的地形,用一二进制数表示,山地对应位置为1,平地对应位置为0leg[N]中存放所有能够合法的单行安排状态,用二进制数表示,驻兵对应位置为1,不驻兵对应位置为0dp[i][j][k]表示第i行状态为j,i-1行状态为k时最多的哨兵数目,j,k均对应leg[]中状态 dp[i][cur][p1] = get
·
2015-11-12 22:14
poj
HDU 1074 Doing Homework【
状态压缩DP
】
HDU 1074 Doing Homework 算法核心:
状态压缩DP
大意:有n门课程作业,每门作业的截止时间为D,需要花费的时间为C,若作业不能按时完成,每超期1天扣1分。
·
2015-11-12 22:13
home
HDU4628+
状态压缩DP
1 /* 2
状态压缩DP
3 dp[ i ]:达到i状态的最小step。 4 题意:每次可以去掉一个回文串,求最少几步能取完。
·
2015-11-12 22:25
HDU
HDU4539+
状态压缩DP
1 /* 2 题意:n行m列的矩阵,1表示可以放东西,0表示不可以。曼哈顿距离为2的两个位置最多只能有一个位置放东西。 3 问最多放多少个东西。 4 */ 5 #include<stdio.h> 6 #include<string.h> 7 #include<stdlib.h> 8 #include<algorithm>
·
2015-11-12 22:19
HDU
HDU1565+
状态压缩dp
简单的压缩状态 dp 1 /* 2
状态压缩dp
3 同hdu2167 4 利用滚动数组!!
·
2015-11-12 22:17
HDU
HDU2167+
状态压缩DP
状态压缩dp
详见代码 1 /* 2
状态压缩dp
3 dp[ i ][ j ]:第i行j状态的最大和 4 dp[i][j] = max( dp[i-1][k]+sum[i][
·
2015-11-12 22:16
HDU
uvalive 6323
状态压缩DP
思路:dp[i][j][x]表示状态 i 以 j 为结束 得分为 x 的方案数。 #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> using namespace std; int dp[500
·
2015-11-12 21:06
live
UVAlive 4999
状态压缩DP
+最短路
压缩的是格子中的H,然后计算反向SPFA计算如何最短。 然后问题的关键是如何任何人合并,看如下的代码注释部分(2,3是正解)。 枚举当前要求的人的状态,然后枚举其子状态(必须至少包含1人的),然后更新每个点,再来一次最短路就可以了。 比较NB的写法是注释中的第三种写法。 目前唯一不解的是,为什么第一种写法是错误的,枚举包含一个人的状态为什么不行呢?求指点呀…… 其实就是一个赤裸裸的斯坦那
·
2015-11-12 21:49
live
HDU 3681 Prison Break(BFS+二分+
状态压缩DP
)
Problem Description Rompire is a robot kingdom and a lot of robots live there peacefully. But one day, the king of Rompire was captured by human beings. His thinking circuit was changed by human and
·
2015-11-12 21:01
break
ZOJ3718 Diablo II(
状态压缩dp
)
题意:一个人物有K(K<=7)种技能,每种技能都有bi,ci,di值,表示该技能不能点超过bi次,每点一次加ci,点满bi次有一个附加得分di。然后还有N件武器,武器本身会有能力加成,然后每个武器可能会对应着多种的技能,当你装备了这些武器的时候对应的技能的技能点+1(但是武器的技能点不能重复,也就是如果a武器和b武器都能提高技能1的话,如果你两件都装备了只算一次)。现在这些都给定给你了,问的
·
2015-11-12 19:38
ZOJ
COJ 1175 A Tour Around Hangzhou (最短路+
状态压缩DP
)
最后用
状态压缩DP
求结果(
状态压缩DP
参考上一篇)。 View Code #include &
·
2015-11-12 19:48
round
COJ 1129 送货到家 (
状态压缩DP
)
分析:看到n<=15这样的条件容易想到
状态压缩DP
。hamilton回路其实就是n个城市的一个圆排列,任选一个起点最后的结果都一样,我们不妨设结点0为起点,状态设计也就不难了。
·
2015-11-12 19:47
压缩
暑假集训每日一题0720(
状态压缩DP
)
Description 有N个点,有一个商人想经过所有的点恰好一次(商人最终不一定要回到起点),求商人需要走最短路程。 Input 两个整数N,M表示图的点数和边数,接下去有M行,每行三个整数a ,b ,c 表示从a到b有一条无向边,长度是c N<=15 c<=10000 Output 输出商人需要走过的最
·
2015-11-12 19:15
压缩
[poj 2978]Colored Stones[
状态压缩DP
]
题意: 给出n个石子,一共m种颜色.问最少去掉几个石子使得同种颜色全连续. 思路见注释. #include <algorithm> #include <cstdio> #include <cstring> using namespace std; const int kMAX=105; /// dp[x][y][z],x指
·
2015-11-12 18:59
color
POJ 3311 Hie with the Pie (BFS+最短路+状态压缩)
所以把10 * 1024 种状态来一遍,取sum【0】【(1<<n)-1】的最小值 只是把
状态压缩DP
改成bfs+状态压缩了 #include <c
·
2015-11-12 17:14
with
HDU 5067 (
状态压缩DP
+TSP)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5067 题目大意:蓝翔挖掘机挖石子。把地图上所有石子都运回起点,问最少耗时。 解题思路: 首先得YY出来。 最少耗时肯定是从起点出发,把所有石子点走一遍且只走一遍,把石子装在车上,然后最后回到起点。 由于石子堆最多也就10个。不难看出这就是个裸的TSP。 首先BFS计算出每个石子
·
2015-11-12 17:01
HDU
HDU 4856 (
状态压缩DP
+TSP)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4856 题目大意:有一个迷宫。迷宫里有些隧道,每个隧道有起点和终点,在隧道里不耗时。出隧道就耗时,你的任务是访问完所有隧道且仅一次,求最短耗时。 解题思路: 暑假练习的时候。把英文读了N遍也没理解题意。 其实就是个最后不回到开头的TSP。 首先求BFS求两两隧道之间的最短路,注意B
·
2015-11-12 17:55
HDU
HDU 4511 (AC自动机+
状态压缩DP
)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4511 题目大意:从1走到N,中间可以选择性经过某些点,比如1->N,或1->2->N,但是某些段路径(注意不是某些条)是被禁止的。问从1->N的最短距离。 解题思路: AC自动机部分: 如果只是禁掉某些边,最短路算法加提前标记被禁的边即可。 但
·
2015-11-12 17:48
AC自动机
POJ 3691 (AC自动机+
状态压缩DP
)
题目链接: http://poj.org/problem?id=3691 题目大意:给定N个致病DNA片段以及一个最终DNA片段。问最终DNA片段最少修改多少个字符,使得不包含任一致病DNA。 解题思路: 首先说一下AC自动机在本题中的作用。 ①字典树部分:负责判断当前0~i个字符组成的串是否包含致病DNA,这部分靠字典树上的cnt标记完成。 ②匹配部分:主要依赖于
·
2015-11-12 17:47
AC自动机
poj 3254 Corn Fields_
状态压缩dp
感谢:http://www.cnblogs.com/ka200812/archive/2011/08/11/2135607.html 让我搞懂了。 #include <iostream> #include <cstring> #include<cstdio> #include <vector> using namespace std; int n
·
2015-11-12 17:57
Field
UVa 10817 Headmaster's Headache(
状态压缩DP
)
题意: 有一个学校想要聘请老师,要求每个学科都有两个以上的老师授课,并且要使总费用最小。有S(最多8个)个学科,现任的M(最多20个)个老师(你必须继续聘请他们),N(最多100个)份申请。后来的M行每行有至少两个整数,表示现任的老师的工资,和他所教授的课程(可能不止一个)。再后来的N行每行有也有至少两个整数表示聘请这个老师所需的费用,以及他所教授的课程(可能不止一个)。 思路: http:
·
2015-11-12 17:28
master
UVa 10911 Forming Quiz Teams(
状态压缩DP
)
题意: 有2*n个点,使其组成n对,求n对点集的最小距离之和。 思路: 由于2*n最大才20,完全可以由数字的位来表示,每一个数字表示一个状态,然后才去记忆化搜索的方式得出结果。 (看了别人的题解才想起来怎么去做,关于状态压缩的动归,还是没能很好的形成思维。多观察,多总结规律然后归纳之,减少冗余,使收益最大化) #include <cstdio> #include <
·
2015-11-12 17:23
form
UVa 10029 Edit Step Ladders(hash
状态压缩DP
)
题意: 给定多个字符串,是按照字典顺序排列的。一个字符串如果能够可以通过改变一个字母,删除一个字母,增加一个字母变成后面的某一个字符串, 那么称这两个字符串之间存在一个阶梯,问最多有多少个阶梯。 思路: http://www.cnblogs.com/staginner/archive/2011/11/30/2269222.html 这一题的难点在于题目数据量很大,O(n^2)的算法铁定会
·
2015-11-12 17:20
hash
UVa 10651 Pebble Solitaire(
状态压缩DP
)
题意: 类似于跳棋,当两颗石子左或者右有空位置时,移动。每次转移之后移去经过的石子。 思路: 有12个格子,所以状态最多有2^12=4096个。把每次搜索过的状态存在dp[]数组中,以后再次查询类似的直接返回即可。 #include <cstdio> #include <cstdlib> #include <cstring> #define
·
2015-11-12 17:12
AIR
hdu4336 Card Collector
状态压缩dp
Card Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1708 Accepted Submission(s): 780 Special Judge Problem Description In your ch
·
2015-11-12 17:15
Collector
HDU 4856
pid=4856 西安邀请赛的一道题,这道题我们当时在现场最后1h才发现时
状态压缩dp
,惊险写出 现在回头想发现当时有点呆,这种明显tsp模型的题目当时鬼迷心窍去写搜索,超时而不知悔改,实际是水题一道
·
2015-11-12 14:29
HDU
HDU 5067
pid=5067 规定起点和终点的tsp问题,解法依然是
状态压缩dp
,在初始化和计算答案的时候略做改动即可 #include <iostream> #include <cstdio
·
2015-11-12 14:29
HDU
HDU 5045
m的矩阵代表第n个学生解第m题AC的概率,任意两学生做题数差距不能大于1,问AC所有题目概率的最大值 由于限制条件,所以一定是以n个学生为单位,一轮一轮的做题,直到做m题为止,这样题目就转化为了一个
状态压缩
·
2015-11-12 14:26
HDU
2014 Super Training #4 B Problem Arrangement --状压DP
这题不会做,看网上是用
状态压缩DP
做的。 定义: dp[i]
·
2015-11-12 14:27
super
【上海交大oj】邮递员小F(
状态压缩dp
)(旅行商问题)
1088. 邮递员小F Description 因为制造类专业很难在大城市立足,曾经立志振兴中华之工业的小F,果断在本科毕业后转行做了一名光荣的邮递员。 他的任务是每天从总局出发,行走于所管辖区域的若干的邮局,收集所有的信,然后再汇总返回总局。 因为工作繁忙,同一个邮局他每天只希望去一次。 来往于任意两个邮局是有一定代价的。而且为了方便统计,假定来回两条道路上的代价假设是一样的。 现
·
2015-11-12 14:34
压缩
【上海交大oj】畅畅的牙签袋(
状态压缩dp
)
1383. 畅畅的牙签袋 题目描述 畅畅说:“你们都说窝脑子瓦特了,我看你们才是脑子瓦特嘞- -” 为了阻挠我们再次揭露他的无chǐ,畅畅妄图破坏我们的显示器,他拿出了自己收集的牙签包装袋,其大小是1×2的矩形,他想用密铺的方式把显示器全部遮挡住。显示器大小是W×H的矩形,畅畅把包装袋背面涂上了胶水,开始一块一块粘到显示器上,要求不能有包装袋重叠,也不能有显示器的某
·
2015-11-12 14:33
压缩
Mondriaan的梦(
状态压缩dp
)
题目原题可以看POJ2411,大意是给出m*n的矩形,要用2*1的矩形将它铺满(不能讲一个矩形铺在另外一个上面),求方案数,并且只要不是完全相同的就算不同的方案,也就是对称算不同的方案。 F[i][s]表示前i-1行已经填满,并且第i行的状态是s的方案数。 F[i][s]=sum(F[i-1][s’]); s‘能转移到s。如何根据s来确定s'呢。这里用一个dfs实现,一位一位去填充s'。扫描
·
2015-11-12 14:13
RIA
HDU 1074 (
状态压缩DP
)
也就是
状态压缩DP
。 用二进制位表示做作业的顺序。总bit=1<<15。 对于状态i,枚
·
2015-11-12 13:41
HDU
POJ 1691 Painting A Board(
状态压缩DP
+ 记忆化搜索)
题意: 有一个矩形框由n个小的矩形组成,现在要把每个矩形涂上一种颜色c(可相同可不同,如下图)。为了保证涂的质量,涂每个小矩阵有一个条件,就是位于它上面,并且与它有连接的小矩形必须先涂好。当然满足条件的同一种颜色可以一起涂,问最少需要多少把刷子(每把刷子一种颜色)。 黑书 146 :平板涂色 思路: 1. 矩形的数量不超过 15,所以自然的联想到利用状态压缩去解决问题,并且为了解决无后效性
·
2015-11-12 13:43
paint
POJ 1185 炮兵阵地(
状态压缩DP
)
题意: 求最大的炮兵摆放数量,并且使他们之间不相互误伤。 NOI 01 的题目。 思路: 1. 和 POJ 1038 类似,把行看成是一个整体,每一种摆放代表着一种状态,r-2, r-1 行的状态决定着 r 行的状态; 2. 本题状态比较稀疏,所以提前处理下炮兵的摆放无意是比较好的选择,由于没两个炮兵之间至少相距为 2,利用这个把每一行的炮兵可能摆放情况存放起来; 3. dp[r][i
·
2015-11-12 13:41
poj
POJ 1038 Bugs Integrated(
状态压缩DP
)
题意: 将 2*3 的芯片嵌入 n*m 的单位尺寸模板中,模板上面有一些坏点将被标记出,求最大的芯片数量。 黑书 138 页的例题, CEOI 2002; 思路: 1. 由于 m <= 10,所以可以针对每一行看成一个整体,根据情况来产生一个状态,首先肯定是枚举当前行的状态,来产生下一行的状态了,时间复杂度为O(nm3m); 2. 递推的过程中,因为是由一个已知状态,转移到多个未知
·
2015-11-12 13:41
integrate
POJ 2688 Cleaning Robot(BFS + A* +
状态压缩DP
)
题意: 给你一个N * M(1 ≤ N, M ≤ 20)的地图,'.'表示空位,'*'表示垃圾,'o'表示机器人的初始位置,'x'表示墙。请你计算机器人清理完所有的垃圾至少要走多少步。 机器人一旦走到垃圾上,垃圾就被清掉了。输入数据保证垃圾不多于10个。 思路: 1. 先 BFS 求出任意两个污点间所需要的最小步数。题目保证了污点数不超过 10 个,这时候可以应用经典的 TSP 模型,用状
·
2015-11-12 13:28
robot
POJ 1321 棋盘问题(
状态压缩DP
| DFS)
题意: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放 k 个棋子的所有可行的摆放方案C。 思路: 1. 把每一行的摆放情况看作是一个状态,则最多有 2n 个状态,本题不超过 2^8; 2. 如果用状态压缩的动态规划来看待的话有: 第 i 行不放棋子,dp[i
·
2015-11-12 13:20
poj
hdu 2167 Pebbles(
状态压缩DP
)
入门级
状态压缩dp
题。 题意:从方格中取一些数,要求所取位置不相邻(包括对角线相邻),求最大的和。
·
2015-11-12 12:27
HDU
poj 1185 & hdu 4539(
状态压缩DP
)
这两道题如出一辙,只是判断有效状态有一点小差异。 每一行的状态只与前面两行的状态有关,每行可以压缩为二进制的集合,设状态dp[i][j][k]为第i行为集合j,第i-1行为集合k, 得出状态方程dp[i][j][k] = max{dp[i-1][k][r]+cnt[j] | 状态i,j,k要能够共存}(cnt[j]为j在二进制下的1的个数,即士兵数)。第一维可以压缩为2,即两种状态
·
2015-11-12 12:26
poj
POJ 1321 棋盘问题(DFS & 状压DP)
在Discuss里看到有同学用
状态压缩DP
来写,就学习了一下,果然很精妙呀。 状态转移分两种,当前行不加棋子,和加棋子。
·
2015-11-12 11:05
poj
poj 2686 Traveling by Stagecoach ---
状态压缩DP
题意:给出一个简单带权无向图和起止点,以及若干张马车车票,每张车票可以雇到相应数量的马。 点 u, v 间有边时,从 u 到 v 或从 v 到 u 必须用且仅用一张车票,花费的时间为 w(u, v) / ticket[i], 其中 w(u, v) 表示边的权值,ticket[i] 表示第 i 张车票可以雇到的马匹数。求从起点到终点花费的最小时间。 如果不能到达终点,输出“Impossib
·
2015-11-12 09:26
poj
poj 2411 Mondriaan's Dream_
状态压缩dp
题意:给我们1*2的骨牌,问我们一个n*m的棋盘有多少种放满的方案。 思路: 状态压缩不懂看,http://blog.csdn.net/neng18/article/details/18425765 用1表示放置了骨牌,0表示没有放置。dp[i][j]表示第i行为状态j是有多少种方案。 分下面3种情况进行转移: d表示当前列号,s1 表示本行的状态,s2表示上一行的状态, 1 竖直放置 &nbs
·
2015-11-12 09:09
poj
poj 2288 Islands and Bridges_
状态压缩dp
_哈密尔顿回路问题
题目链接 题目描述:哈密尔顿路问题。n个点,每一个点有权值,设哈密尔顿路为 C1C2...Cn,Ci的权值为Vi,一条哈密尔顿路的值分为三部分计算: 1.每一个点的权值之和 2.对于图中的每一条CiCi+1,加上Vi*Vi+1 3.对于路径中的连续三个点:CiCi+1Ci+2,若在图中,三点构成三角形,则要加上Vi*Vi+1*Vi+2 求一条汉密尔顿路可以获得的最大值,并且还要输出有多少条这样的
·
2015-11-12 09:05
bridge
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他