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-状态压缩
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
概率
dp-
九度-1546-迷宫问题
题目链接: http://ac.jobdu.com/problem.php?pid=1546 题目意思: 有一个起点S,多个出口E,#代表不能走,每次等概率的随机选择下一个可以行走的位置,求从S到出口的期望。 解题思路: 高斯消元求解期望。 先BFS预处理能够到达的出口的位置,然后如果从起点不能到达终点,直接输出-1. 然后对于无效的点,置该未知数的解为-1,否则依据dp[i][j
·
2015-11-13 06:35
dp
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
POJ 3356 AGTC(
DP-
最小编辑距离)
Description Let x and y be two strings over some finite alphabet A. We would like to transform x into y allowing only operations given below:
·
2015-11-12 21:03
poj
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
POJ 2923 Relocation(
状态压缩
+ 两次DP)
题意: 有n个家具要搬运,两辆搬运车的容量分别是c1, c2,搬运的过程要求两辆搬运车一起来回。问最少需要多少趟能把家具搬完。 思路: 1. 因为n的范围是 n <= 10, 所以可以把家具压缩成状态 s 2. 判断状态 s 所表达的家具是否能有两辆车一次搬运完成,如果能则把状态 s 在 state[] 数组记录下来为 state[] = s 3. 对 state[] 状态数组再进
·
2015-11-12 20:23
location
dp-
史上最戳最长最臭代码-hdu-4733-G(x)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4733 题目大意: 定义G(x)=x⊕(x>>1).给两个由0、1、?组成的长度相同的字符串S1,S2.其中?表示0、1状态不确定,求有多少种p,使得G(p)=S1,G(p+1)=S2 如果p唯一,则输出G(p)和G(p+1)(注意这中间不能有问号)。 解题思路: 这是我写的
·
2015-11-12 20:22
HDU
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
上一页
24
25
26
27
28
29
30
31
下一页
按字母分类:
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
其他