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
【状态压缩】
HDOJ 2442 -bricks
状态压缩
DP 一直TLE.打表过的..
有5个砖块..加上一个空着不放..那么有6种状态..所以很明显的可以用6进制的状态DP... 不过这么做..我觉得我已经能优化的都优化了...还是超时..一看数据范围是100*6..打表先AC了.. 看有大神用3进制状态DP水过..Orz...看了好久没看懂...觉得自己状态DP还是很表面~~ Prog
·
2015-11-13 09:42
压缩
poj 2688 Cleaning Robot
分析:
状态压缩
的BFS或者dfs状态+最短路。 前者就是类似于拯救大兵瑞恩的方法,后者非常经典,dfs全排列枚举然后根据最短路相加。 WA三次+TLE一次+AC。
·
2015-11-13 09:57
robot
Mondriaan's Dream(poj2411)
题意:求1*2的牌填满n*m的表格有多少种不同的方法;
状态压缩
dp (注:思路来自不知名的大神) 用2进制的01表示不放还是放 第i行只和i-1行有关 枚举i-1行的每个状态,推出由此状态能达到的
·
2015-11-13 09:20
poj
SGU 131 贴地砖类型
状态压缩
DP
用dp[i][j]表示要贴第i层时,第i-1层的状态, 然后每一层dfs枚举一下情况即可 dfs(x, y, pre, now) x层数 y枚举的当前列 pre 前一层状态, now当前层状态 根据当前列y的这位上pre和now状态,确定要贴的图形, 注意贴完以后pre层必须满状态,在贴的过程中处理必须优先把pre层贴满。 状态转移如下图:.表示空,*表示满 #i
·
2015-11-13 08:05
压缩
[置顶]
状态压缩
DP 简单入门题 11题
1.每一行用一个二进制数表示, 有些二进制数是题目中不合法的状态,我们可以预处理出一行合法状态的个数,在递推的过程中复杂度就会大大降低。 POJ 3254 Corn Fields code POJ 3311 Hie with the P
·
2015-11-13 08:25
压缩
1476. Lunar Code
space=1&num=1476 由于前一列对后一列有影响,所以需要保持前一列的状态, 但无需用
状态压缩
来保存(也保存不了) 只需要保存前一列以 k 个0结尾的个数就可以 代码: import
·
2015-11-13 07:13
code
hdu 5025 Saving Tang Monk
状态压缩
dp+广搜
jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4092939.html 题目链接:hdu 5025 Saving Tang Monk
状态压缩
·
2015-11-13 07:07
HDU
hdu 5094 Maze
状态压缩
dp+广搜
作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4092176.html 题目链接:hdu 5094 Maze
状态压缩
dp
·
2015-11-13 07:06
HDU
poj2411 2663 2420 dp+
状态压缩
(多米诺骨牌问题)
题目描述:用1*2 的矩形通过组合拼成大矩形,求拼成指定的大矩形有几种拼法。 首先 我们先求用1*2 的矩形拼成 n*m的矩形有多少种拼法 当n*m为奇数时,一定是不会拼出来的,因为想要拼出来就需要整数倍的小矩形数目。 为了加速算法,要把m,n中小的那个当做列 分两个步骤:1) 先求出相邻两行的转化关系  
·
2015-11-13 06:34
poj
Light OJ 1316 A Wedding Party 最短路+
状态压缩
DP
Party 题意:和HDU 4284 差点儿相同 有一些商店 从起点到终点在走过尽量多商店的情况下求最短路 思路:首先预处理每两点之前的最短路 然后仅仅考虑那些商店 个数小于15嘛 就是TSP问题
状态压缩
·
2015-11-13 06:47
part
hdu3006(
状态压缩
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3006 题意:给定一些集合,求这些集合所能组合的集合个数。 分析:这题就是用一个二进制数保存一个集合的元素 比如一个集合中有两个元素 1 3 那就用5 (101)表示这个集合 就是用0 1 来表示这个集合中一个
·
2015-11-13 06:05
HDU
hdu3811(
状态压缩
dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3811 题目大意:给定1~N个数,求出至少满足一个条件的排列总数。M个条件如下:Ai位置的数为Bi 分析:通过求出一个条件不满足的排列总数,从而间接的求出满足至少一个条件的排列总数。 dp[n][
·
2015-11-13 06:00
HDU
状态压缩
DP 题目小节 (一)
最近被
状态压缩
DP虐得不行,今天终于决定正视自己的弱项,好好把DP练习一下,把今天做的几道
状态压缩
DP总结一下,一定要想办法摆脱DP弱菜这个标签!!! http://poj.org/problem?
·
2015-11-13 05:47
压缩
HDU 4634 Swipe Bo
状态压缩
+BFS最短路
将起始点、终点和钥匙统一编号,预处理: 1.起始点到所有钥匙+终点的最短路 2.所有钥匙之间两两的最短路 3.所有钥匙到终点的最短路 将起始点和所有钥匙四方向出发设为起点BFS一遍,求出它到任意点任意方向的最短路dp[i][j][k]。(即到点(i,j)且方向为k的最短路),BFS时需要注意: 1.UDLR有可能组成死循环 2.转向符在墙边并且指向了墙时,无法重新选择方
·
2015-11-13 05:58
HDU
SGU 132 Another Chocolate Maniac
状态压缩
DP
感觉不是很好写的一道
状态压缩
。 dp[i][j][k]表示第 i 行状态为k,第i - 1行状态为 j,具体细节见代码。 内存卡的很死,要用滚动数组。
·
2015-11-13 05:44
man
ZOJ 3471 Most Powerful
分析:
状态压缩
,最多2^10种状态。 集
·
2015-11-13 05:49
ZOJ
POJ 2441
题解:
状态压缩
dp,dp[i][state]为前i头牛,用了state的牧场时的总数。但是直接开n*2^m会爆空间,但是每头牛都只与前面一头牛相关,所以可以辗转一下,只记录两维即可。
·
2015-11-13 04:50
poj
hdu3605(最大流+
状态压缩
)
传送门:Escape 题意:给出每个人适合住的星球信息和该星球能住多少人 ,第一行给出n m 代表有 n 个人 m 个星球,然后接下来n行每行m个数字 1代表适合第 i 个星球 0 代表不适合第 i 个星球,最后一行m个数表示第 i 个星球最多可以住多少个人,问是不是所有人都可以住到星球上。 分析:很裸的最大流,但刚开始直接去建图,100W级别的边MLE了,就算没MLE也会TL
·
2015-11-13 04:19
360
HDU 4758 Walk Through Squares( AC自动机 +
状态压缩
DP )
题意:给你两个串A,B, 问一个串长为M+N且包含A和B且恰好包含M个R的字符串有多少种组合方式,所有字符串中均只含有字符L和R。 dp[i][j][k][S]表示串长为i,有j个R,在自动机中的状态为k,包含AB的状态为S的方案个数。 PS1.之前用long long int超时了两次 PS2.把行列搞错了WA了几次 #include <cstdio> #inc
·
2015-11-13 03:43
AC自动机
HDU 4057 Rescue the Rabbit ( AC自动机 +
状态压缩
DP )
模式串只有10个,并且重复出现的分值不累加,因此很容易想到
状态压缩
。 将模式串加入AC自动机,最多有10*100个状态。
·
2015-11-13 03:41
AC自动机
poj 1185 炮兵阵地
状态压缩
dp
思路:定义一个三维数组dp[x][i][j]其中x为now和pre两种状态,now表示当前两行最优解,pre表示出了本行外,前两行的最优解。那么状态转移方程为 dp[now][j][k]=max(dp[now][j][k],dp[pre][k][r]+num[i][j][1])。num[i][j][1]表示第i行的第j个状态的1的个数。转移条件是!(num[i][j][0]&num[i-
·
2015-11-13 02:46
poj
poj 2411
状态压缩
dp
思路:将每一行看做一个二进制位,那么所有的合法状态为相邻为1的个数一定要为偶数个。这样就可以先把所有的合法状态找到。由于没一层的合法状态都是一样的,那么可以用一个数组保存。由第i-1行到第i行的状态转移是dp[i][now|num[j]]+=dp[i-1][k],其中now为(1<<m)-1-k;也就是把k中含有0的变1,1边0。k为第i-1行的所有二进制状态,转移条件是k&n
·
2015-11-13 02:45
poj
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
hdu 4628 动态规划
思路:首先就是
状态压缩
,然后判断哪些状态是回文串。最后就是动态方程:dp[i]=min(dp[i],dp[j]+1)。这个方程得前提条件是状态(j-i)为回文串。
·
2015-11-13 02:31
动态规划
hdu1565 网络流或
状态压缩
DP
对于网络流有一个定理: 最小点权覆盖集=最大网络流; 最大点权独立集=总权值-最小点权覆盖集; 网络流解法代码如下: #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define N 1010 #define M 50010 #
·
2015-11-13 02:48
HDU
两道很好的网络流
pid=2453 传送门 首先看到这题,想到了去年多校得时候一个网络流,由于上次得出的经验,先用二进制
状态压缩
点是必须的了。
·
2015-11-13 02:30
网络流
组合数学相关的DP
希望写的这点东西不要侮辱了数学%%……*%& 本着学习的态度找来了一些组合数学相关的DP题,至于其他所谓的数学题就不在我的研究范围内了……队友呀,靠你们了 组合数学的DP题,有这样一种带有
状态压缩
的思想
·
2015-11-13 02:19
dp
hoj 2473 Fish Can Fly解题报告
Proid=2473&Contestid=0 一道很好的
状态压缩
的DP,题目要求在一定时间范围内从起点走到终点,使途径的点上有权值尽量的大,如果按照一遍TSP的思路的话,是不可行的,例如样例1
·
2015-11-13 02:07
sh
状态压缩
的搜索 Tianjin University 2010 ACM-ICPC Team Sellect Contest 2 1008解题报告
#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;const int SIZE = 52, CAP = (1 << 5), INF = 0x7f7f7f7f;int dx[] = {1, -1, 0, 0};i
·
2015-11-13 02:06
test
[NOI2001 炮兵阵地]
[关键字]:动态规划
状态压缩
[题目大意]:在给定的地图上有高地和平原,只能在平地上放置炮兵,每个炮兵可以攻击到前后左右各延伸两格(无视地形),在保证不互相攻击的前提下最多能放置几个炮兵。
·
2015-11-13 02:02
poj 1185 压缩状态dp
id=1185 非常经典的DP问题,考虑了
状态压缩
,位运算,有的大牛还用了滚动数组。
·
2015-11-13 01:46
poj
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
hdu 2489 最小生成树
状态压缩
枚举
思路: 直接
状态压缩
暴力枚举 #include<iostream> #include<algorithm> #include<cstdio> #include
·
2015-11-13 00:52
最小生成树
POJ 2978
题解:
状态压缩
DP,并不算太复杂,dp[i][j][mask]代表前i个珠子,以j结尾,且前面已经出现了mask珠子的最小代价。
·
2015-11-13 00:04
poj
[SGU223 Little Kings]
//============================================================== [分析]:
状态压缩
动态规划,类似于炮兵阵地。
·
2015-11-13 00:14
it
hdu3182
状态压缩
水题
题意是这种 给你n个汉堡 每一个汉堡有它的价值 做每一个汉堡都得花费相应的能量 如今告诉你最大能量 让你求获得的最大的价值(有些汉堡必须有还有一些汉堡做好为前提) 给你的n你最大为15 这道题的重点在于 每一个汉堡仅仅
·
2015-11-12 23:17
HDU
POJ 1681 Painter's Problem【
状态压缩
,枚举】
POJ 1681 Painter's Problem 算法核心:
状态压缩
,枚举大意:有一面n*n的墙,对其中某一格子上色,则其上、下、左、右及自身的颜色均变色,颜色仅有黄色和白色两种,已知墙面信息,问能否将墙面全部变为黄色
·
2015-11-12 22:18
paint
状态压缩
-- POJ 1185 炮兵阵地【
状态压缩
DP】
POJ 1185 炮兵阵地 核心算法:dp
状态压缩
中文题分析: graph[i]存储第i行的地形,用一二进制数表示,山地对应位置为1,平地对应位置为0leg[N]中存放所有能够合法的单行安排状态,用二进制数表示
·
2015-11-12 22:14
poj
状态压缩
POJ 3254 Corn Fields【dp
状态压缩
】
POJ 3254 Corn Fields 算法核心:
状态压缩
,DP 题意:输入m行n列的数字,其中为1或者是01表示土壤肥沃可以种植草地,0则不可以。
·
2015-11-12 22:13
Field
HDU 1074 Doing Homework【
状态压缩
DP】
HDU 1074 Doing Homework 算法核心:
状态压缩
DP大意:有n门课程作业,每门作业的截止时间为D,需要花费的时间为C,若作业不能按时完成,每超期1天扣1分。
·
2015-11-12 22:13
home
HDU1429+bfs+
状态压缩
bfs+
状态压缩
思路:用2进制表示每个钥匙是否已经被找到。、 1 /* 2 bfs+
状态压缩
3 思路:用2进制表示每个钥匙是否已经被找到。
·
2015-11-12 22:52
HDU
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
连通性
状态压缩
题解-simple & naive版
suffix array总算搞定了,集训还剩两周时间,搞一下插头DP 先挖个坑,这里将持续update一些插头的题解。 HDU 1693 Eat the Trees 简单多回路问题,多回路的优点就是简单,不需要维护连通性,之需要维护轮廓线上的插头即可。 这题最为新手入门题,包括了插头需要注意的几点事项。 第一点:按格转移比较快。 第二点:在按格转移过程之中,一定要注意当前格的
·
2015-11-12 21:54
simple
UVAlive 4999
状态压缩
DP+最短路
压缩的是格子中的H,然后计算反向SPFA计算如何最短。 然后问题的关键是如何任何人合并,看如下的代码注释部分(2,3是正解)。 枚举当前要求的人的状态,然后枚举其子状态(必须至少包含1人的),然后更新每个点,再来一次最短路就可以了。 比较NB的写法是注释中的第三种写法。 目前唯一不解的是,为什么第一种写法是错误的,枚举包含一个人的状态为什么不行呢?求指点呀…… 其实就是一个赤裸裸的斯坦那
·
2015-11-12 21:49
live
上一页
21
22
23
24
25
26
27
28
下一页
按字母分类:
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
其他