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&状态压缩DP
状态压缩dp
/sgu 131 Hardwood floor
题意 给出一个n*m的格子,要求用1*2的块和2*2缺一角的块填满,求方案数 分析 状压dp,以下来自nocow:
状态压缩DP
,转移的时候情况很多,要一个个写出来理清楚再写。
·
2015-11-11 18:58
OO
poj 2411 Mondriaan's Dream
状态压缩DP
打表
将题目转换题意, 有一个M列的墙, 我们需要 使用 1*2 的小矩形 砌成N层高, 有多少不同的方案数量. 因为只有1*2的砖头, 且只有竖立或者横着放. 那么我们规定 竖立放置的砖头属于 较高的一层, 且 当前点放置砖头则为1,否则为0 那么我们可以得出结论: 对于 I 层 状态 X , 若当前位置为0,则下层必定为1. 则意味着下层必定包含 t = (~X)&
·
2015-11-11 17:06
poj
位运算简介及实用技巧(四):实战篇
代码写得并不好,我只是想告诉大家位运算在实战中的应用,包括了搜索和
状态压缩DP
方面的题目。其实大家可以在网上找到更多用位运算优化的题目,这里整理出一些自己写的代码,只是为了原创系列文章的完整性。
·
2015-11-11 15:07
位运算
POJ 2817 WordStack(
状态压缩DP
)
题目链接 以前的坑,以前做的时候,用暴力各种跪,其实是
状态压缩DP
。暴力处理出来后,状态+标记最后一个单词。
·
2015-11-11 15:36
stack
POJ 1185 炮兵阵地(
状态压缩DP
)
题目链接 写了久。DEBUG很久。 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <cstdlib> 5 #include <map> 6 #include <queue> 7 #
·
2015-11-11 15:35
poj
记录做过的各种DP
做DP,已经有一段时间了,虽然还有很多不会的,树形DP,数位DP,
状态压缩DP
。。。
·
2015-11-11 15:58
dp
hdu4310贪心
明明贪心是正确的嘛,不知道为什么官方的解题报告说是
状态压缩DP
。
·
2015-11-11 15:05
HDU
hdu 1565
状态压缩DP
这题可以用最大流做,为了练DP就用状态压缩了。我一开始只想到一个O(n*2^n*2^n)的方法,效率太低,看了某大牛的解题报告后,才将算法优化到O(n^2*2^n)。 不过就这样还WA了好几次,原因是代码中一句 if ((k & t) == 0)我开始写成了if (k & t == 0) 没有注意到位运算符的优先级是低于逻辑运算符的,谨记谨记! /* * hdu1565/
·
2015-11-11 15:44
HDU
状态压缩DP
-棋盘模型总结
论文:《周伟ftfish --- 动态规划之状态压缩》 关键之处在于: ①针对棋盘不同限制用dfs把每行可行的状态压缩表示成一个数存到s[]。 ②枚举当前处理行和上一行的状态时根据题目限制判断状态是否互斥。 ③有时棋盘上会有些点不能放置,我们也把一行中不能放置的点压缩成一个数存到no[]中,比如用00011000表示第3列和第4列不能放置。然后处理当前行时如果s[j1] & no[i] =
·
2015-11-11 12:31
总结
状态压缩DP
-棋盘模型总结
论文:《周伟ftfish --- 动态规划之状态压缩》 关键之处在于: ①针对棋盘不同限制用dfs把每行可行的状态压缩表示成一个数存到s[]。 ②枚举当前处理行和上一行的状态时根据题目限制判断状态是否互斥。 ③有时棋盘上会有些点不能放置,我们也把一行中不能放置的点压缩成一个数存到no[]中,比如用00011000表示第3列和第4列不能放置。然后处理当前行时如果s[j1] & no[i] =
·
2015-11-11 12:30
总结
SGU132 - Another Chocolate Maniac(
状态压缩DP
)
题目大意 给定一个N*M大小的大小的蛋糕,蛋糕的有些地方已经放置了东西,要求你在蛋糕上放入尽量少的1*2大小的巧克力,使得蛋糕不能够再放入巧克力 题解 和POJ1038恰好相反,此题是放入尽量少的巧克力,根据前两行的状态来进行当前行的放置,用dfs来进行三行的状态枚举,并同时检查放置是否合法,放完m列之后就可以进行状态转移了 代码: #include <iostream> #
·
2015-11-11 12:44
man
(
状态压缩DP
)
题目大意 要求你在N*M大小的主板上嵌入2*3大小的芯片,不能够在损坏的格子放置,问最多能够嵌入多少块芯片? 题解 妈蛋,这道题折腾了好久,黑书上的讲解看了好几遍才稍微有点眉目(智商捉急),接着看了网上大牛的解题报告和实现代码才弄明白怎么用三进制来进行状态压缩,关键就是理解能够横着放置和竖着放置的条件。由于竖着放置会受到前面两行的影响,这样我们就可以用三进制来表示前面两行的状态了,然后根据前面
·
2015-11-11 12:43
integrate
POJ1185 - 炮兵阵地(
状态压缩DP
)
题目大意 中文的。。直接搬过来。。。 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示: 如果在地图中的
·
2015-11-11 12:42
poj
SGU131 - Hardwood floor(
状态压缩DP
)
POJ2411的影响,怎么都没想到3,4,5,6这几种情况该怎么放置,看了网上大牛的解题报告和代码(真是不好的习惯,可是太弱了就是想不出咋办%>_<%)之后豁然开朗~~~~ 规模比较小,所以用
状态压缩
·
2015-11-11 12:41
OO
SGU223 - Little Kings(
状态压缩DP
)
题目大意 给定一个N*N(n<=10,k<=n*n)大小的棋盘,要求你在棋盘上放置k个国王,使得不会相互攻击,如果棋盘上某个格子放置了一个国王,那么与他相邻的八个格子都是他的攻击范围,问有多少种放置方案 题解 和炮兵阵地差不多,只不过这个题是统计方案,依然是逐行转移,如果某个格子(i,j)放置了国王,那么上一行j,j-1,j+1,这三个格子都是他的攻击范围,因此这三个格子是不能够放
·
2015-11-11 12:41
it
POJ2411 - Mondriaan's Dream(
状态压缩DP
)
题目大意 给定一个N*M大小的地板,要求你用1*2大小的砖块把地板铺满,问你有多少种方案? 题解 刚开始时看的是挑战程序设计竞赛上的关于铺砖块问题的讲解,研究一两天楞是没明白它代码是怎么写的,智商捉急,上面是用逐格进行转移的,据说神马插头DP。。。坑爹啊。。。然后果断放弃研究了。。。我们还是逐行的进行转移,这样比较好理解,方程表示为:dp[i][j]+=dp[i-1][k](能够从上一行的状态
·
2015-11-11 12:40
poj
POJ3254 - Corn Fields(
状态压缩DP
)
(不种一算一种方案) 题解 很基础的
状态压缩DP
,我们可以逐行的进行状态转移,用二进制来表示一行的状态,方程表示为:dp[i]j]+=dp[i-1][k],表明我们可以
·
2015-11-11 12:39
Field
Codeforces Round #191 (Div. 2) E题
状态压缩DP
,算sum,本来是枚举的,结果TLE了。。
·
2015-11-11 10:25
codeforces
HDU 3001 Travelling(
状态压缩DP
)
题目链接 :http://acm.hdu.edu.cn/showproblem.php?pid=3001 题意:给出n个点的无向图,每个点最多被遍历两次最少被遍历一次。求最小代价。 思路:三进制。 #include <iostream> #include <cstdio> #include <string.h> #include <algor
·
2015-11-11 09:54
HDU
HDU 3247 Resource Archiver(自动机+
状态压缩DP
)
最后
状态压缩DP
。 struct node { int next[2],fail,x,y;
·
2015-11-11 09:50
resource
HDU 2825 Wireless Password(自动机+
状态压缩DP
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2825 题意:给出m个串,求一个长度为n的串包含至少m个串中的K个。问这样的串有多少个? 思路:f[i][j][k]表示长度为i、到达自动机上的j节点、包含的状态为k的种类数。转移时,从当前节点向其next节点转移。 struct node { int next[26]
·
2015-11-11 09:47
password
SGU 327 Yet Another Palindrome(
状态压缩DP
)
题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=327 题意:给出n个字符串。构造一个串s使得s包含n个串以及n个串的反串且这n个串在s中是连续的。求s的最短长度。 思路:设f[i][j][k]表示已经在s中的串的集合为i最后一个串是j(其实是在两端的是j,一个是j的原串一个是j的反串)且前面的是j串的状态是k(k=0表示原串,
·
2015-11-11 09:31
ROM
poj 1691 Painting A Board (DFS/
状态压缩DP
)
http://poj.org/problem?id=1691/* 题解: 将每个矩形看成一个点,点A在点B的上方 则b的入度加1,进行拓扑构图 标记 ,每次搜索时搜入读为零的点 构图时少考虑的一种情况 wa 汗。。。。。。。 */ #include<stdio.h> #include<string.h> #define max 999999
·
2015-11-11 07:45
paint
[
状态压缩DP
] PKU 3311 Hie with the Pie
和COJ送货到家一样,不过这里不要求每个点只经过一次,因此可以先用floyd预处理出任意两点间的最短距离,然后
状态压缩DP
。
·
2015-11-11 07:44
with
[
状态压缩DP
] PKU 2411 Mondriaan's Dream
参考http://wenku.baidu.com/view/e262a86f1eb91a37f1115c26.html 状态设计:0表示横放,1表示竖放,可以预处理出所有合法状态,f[i, s] 表示到达第 i 层的状态(类似俄罗斯方块,前 i 层合并之后剩余的状态)。 状态转移:f[i, s] = sum{f[i-1, s']},s' 为和 s 符合的状态 j 与 s 的异或值。 # i
·
2015-11-11 07:41
pku
[
状态压缩DP
] COJ 1129 送货到家
第一道
状态压缩DP
; 这道题要求一个无向图的最小权回路,要求经过所有点,所以可以任选一个点(这里选0)作为起点,以后的状态f[s, i]表示从0出发到i结束的最小权路径,最终求得f[1<<
·
2015-11-11 07:41
压缩
POJ 3254 炮兵阵地(
状态压缩DP
)
题意:由方格组成的矩阵,每个方格可以放大炮用P表示,不可以放大炮用H表示,求放最多的大炮,大炮与大炮间不会互相攻击。大炮的攻击范围为两个方格。 分析:这次当前行的状态不仅和上一行有关,还和上上行有关,所以用三维dp【i】【j】【k】来表示第i行的状态为j,i-1行状态为k时最多的大炮。 一开始看数据量为100 * 1024 * 1024 铁定要爆,但是由于大炮的攻击方式,单独看每一行最多只有几
·
2015-11-11 04:49
poj
sgu233 little kings
分析:简单的
状态压缩DP
。f[i][state][j]表示第i行放置国王的状态为state,前i行一共放了j个国王的方案数,state为位压缩表示的状态,某位为1,表示该处放了国王,为0表示没有放。
·
2015-11-11 02:15
it
hdu 4385 Moving Bricks (
状态压缩dp
2012 Multi-University Training Contest 9 )
http://acm.hdu.edu.cn/showproblem.php?pid=4385 状态压缩需要好好理解啊; 又是一道 状态压缩的题 ,一开始觉的和 poj 的一道题有点像 ,特地先做了一下那个题 再回来做的这道题,结果还是没做出来 这到,最后看了 解题报告: 题意: 一个人在搬砖,初始位置在(x0,y0),目的地也是(x0,y0),给你n(n&
·
2015-11-11 01:22
test
poj3254
状态压缩dp
,数据弱,本程序时间效率O(12 * (2^24)) View Code #include <iostream> #include <cstdio>
·
2015-11-10 22:46
poj
acm算法模板(4)
杂乱小模板
状态压缩dp
小技巧 x&-x是取x的最后一个1的位置。 x-=x&-x是去掉x的最后一个1。
·
2015-11-09 14:24
ACM
ACM/ICPC竞赛
ACM知识点分类 第一类:基础算法 (1) 基础算法:枚举,贪心,递归,分治,递推,构造,模拟 (2) 动态规划:背包问题,树形dp,
状态压缩dp
,单调性优化,
·
2015-11-09 14:16
ICPC
poj 3254 Corn Fields (
状态压缩DP
)
题目:http://poj.org/problem?id=3254 思路见代码: #include<iostream> using namespace std; const int MOD=100000000; const int MAX_N_M=12; int row_state[MAX_N_M]; // 枚举出合法的状态数 int LegalS
·
2015-11-09 14:48
Field
hdu 4317 Unfair Nim (
状态压缩DP
) 【2012 Multi-University Training Contest 2】
一道
状态压缩DP
,比赛时没时间仔细想了,赛后想了想转移那部分也有点糊里糊涂的,后来请教了一下yk同学,才肯定了一下那个状态表示,后来自己一边探索,一边敲码,一边调试,确认无误后得到1A。
·
2015-11-09 12:36
test
状态压缩DP
题目小节(二)
最近做的
状态压缩DP
小节: http://acm.zju.edu.cn/onlinejudge/showProblem.do?
·
2015-11-08 15:23
压缩
poj 2411 Mondriaan's Dream
状态压缩DP
思路:1表示竖着的下半部分,0表示其他情况。 dp[i][j]表示第i行第j种状态满足的数目。 代码如下: 1 #include<iostream> 2 #include<stdio.h> 3 #include<algorithm> 4 #include<iomanip> 5 #include<c
·
2015-11-08 15:26
poj
hdu 3091 Necklace
状态压缩dp
*******
Necklace Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 327680/327680 K (Java/Others)Total Submission(s): 522 Accepted Submission(s): 168 Problem
·
2015-11-08 15:13
HDU
hdu 1565 方格取数(1)
状态压缩dp
方格取数(1) Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3848 Accepted Submission(s): 1473 Problem
·
2015-11-08 15:10
HDU
poj Corn Fields
状态压缩dp
。
Corn Fields Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5763 Accepted: 3052 Description Farmer John has purchased a lush new rectangu
·
2015-11-08 15:09
Field
hdu 4628 Pieces
状态压缩dp
Pieces Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1418 Accepted Submission(s): 724 Problem Descripti
·
2015-11-08 15:08
HDU
POJ 1185 炮兵阵地 经典的
状态压缩dp
炮兵阵地 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 16619 Accepted: 6325 Description 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可
·
2015-11-08 15:07
poj
POJ 3254 Corn Fields (
状态压缩DP
)
分析:方格边长范围只有12,用
状态压缩dp
好解决。
·
2015-11-08 14:08
Field
三进制
状态压缩DP
(旅行商问题TSP)HDU3001
http://acm.hdu.edu.cn/showproblem.php?pid=3001 Travelling Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3864&nbs
·
2015-11-08 14:17
HDU
二进制
状态压缩dp
(旅行商TSP)POJ3311
http://poj.org/problem?id=3311 Hie with the Pie Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 4456 Accepted: 2355 Description The
·
2015-11-08 14:16
二进制
BFS+
状态压缩DP
+二分枚举+TSP
http://acm.hdu.edu.cn/showproblem.php?pid=3681 Prison Break Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3182&n
·
2015-11-08 14:15
bfs
BFS+优先队列+
状态压缩DP
+TSP
http://acm.hdu.edu.cn/showproblem.php?pid=4568 Hunter Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1254 &nb
·
2015-11-08 14:15
优先队列
HDU 4281 Judges' response(
状态压缩DP
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4281 题意:有n个点,编号0到n-1。每两个点之间有距离,每个点(除0外)遍历时有花费。在0点有好多人,每个人有m的时间去遍历。 第一问:问遍历完1到n-1用的最少人数?(不用考虑点与点之间的距离) 第二问:问怎么安排每个人遍历那些点可以使得所有人走的路程之和最小?(所有人从0出发最后要回到0点
·
2015-11-08 11:01
response
hdu1074 Doing Homework(
状态压缩DP
Y=Y)
Doing Homework Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3958 Accepted Submission(s):
·
2015-11-08 10:04
home
罪犯审问 暴力+记忆化 SRM 672 div2 1000Tdetectived2
题解暴力枚举,
状态压缩DP
两重循环计算每个人的在所有人中的最大怀疑值,若等于指定人则更新答案。
詹明捷
·
2015-11-07 17:29
状压DP
HDU 1074 Doing Homework
状态压缩dp
Doing Homework Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4362 Accepted Submission(s): 1760 Pr
·
2015-11-07 13:59
home
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
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
其他