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
———状态压缩
[ACM_动态规划] 轮廓线动态规划——铺放骨牌(
状态压缩
1)
Description Squares and rectangles fascinated the famous Dutch painter Piet Mondriaan. One night, after producing the drawings in his 'toilet series' (where he had to use his toilet paper to draw on
·
2015-10-31 11:34
动态规划
互不侵犯(BZOJ1087) 题解
【样例输入】 3 2 【样例输出】 16 【解题思路】 本题为SCOI2005的题,正解应该是
状态压缩
·
2015-10-31 11:50
ZOJ
hdu 4064 Carcassonne
pid=4064 /*福州网络赛的一道题,很容易看出
状态压缩
DP,当时用四进制写的,没能做出来,感觉会超时,赛后看别人的解题报告,可以记录上面的状态和下面的状态然后用三进制实现。
·
2015-10-31 11:20
SSO
POJ-2411 Mondriaan's Dream
状态压缩
DP
我的
状态压缩
效果不是很好,貌似很挫,因为状态考虑得太多了,没有类化,用了2bit的空间来表示每个格子的状态即当前放的是横向01,没放00,竖向11。
·
2015-10-31 11:23
poj
POJ-3254 Corn Fields
状态压缩
DP+滚动数组
id=3254
状态压缩
,用01分别表示pasture不能plant和能plant。
·
2015-10-31 11:23
Field
POJ-3020 Antenna Placement 最大独立集 |
状态压缩
DP
开始我想的是
状态压缩
DP,后来发现复杂度有点高,以为会TLE。看了Discuss才知道正解是用最大独立集做,即在图上构造一张二分图,然后相邻的’*‘建立边关系,求最大独立集就可以了。至于算法
·
2015-10-31 11:20
ant
Codeforces Round #108 (Div. 2)——
状态压缩
DP+spfa+dfs——Garden
Vasya has a very beautiful country garden that can be represented as an n × m rectangular field divided into n·m squares. One beautiful day Vasya remembered that he ne
·
2015-10-31 11:54
codeforces
UVA 10123 No Tipping
再后来看了UVA的论坛之后,发现上面有人提到用记忆化搜索去解,我这时再一看N只有20,完全可以用
状态压缩
+记忆化搜索来做,只是当时没有想到,其中一部分原因也是觉得LRJ放在了回溯这章里面
·
2015-10-31 11:47
ping
POJ 1185
状态压缩
DP 炮兵阵地
题目直达车: POJ 1185 炮兵阵地 分析: 列( <=10 )的数据比较小, 一般会想到状压DP. Ⅰ、如果一行10全个‘P’,满足题意的状态不超过60种(可手动枚举)。 Ⅱ、用DFS搜出所有可能表示状态的整数(二进制1表示可以放,0则不能)。 Ⅲ、对每一行的地行进行状态处理(p[i]表示第i行地形的状态),二进制‘H’转1,‘P’
·
2015-10-31 11:23
poj
HDU 3001 Travelling (
状态压缩
DP)
Travelling Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2338 Accepted Submission(s): 668 Problem
·
2015-10-31 11:48
HDU
POJ 3254 Corn Fields(
状态压缩
DP)
Corn Fields Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 4739 Accepted: 2506 Description Farmer John has purchased a lush new rectangu
·
2015-10-31 11:48
Field
HDU 3681 Prison Break(
状态压缩
DP+BFS+二分答案)
Prison Break Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2178 Accepted Submission(s): 533 Probl
·
2015-10-31 11:48
break
HDU 1074 Doing Homework (
状态压缩
DP)
Doing Homework Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3595 Accepted Submission(s): 1424 Pr
·
2015-10-31 11:47
home
状态压缩
dp入门
poj1321 http://poj.org/problem?id=1321 我们可以把棋盘的每一行看做是一个状态,如果某一列放置了棋子,那么就标记为1,否则就标记为0.然后把它看成是一个二进制数,然后转为10进制数,就可以当做数组下标然后进行状态转移了 设dp[i][s] 为处理到第i行时,状态为s的方法数 那么我们枚举第i-1行的所有状态s dp[i][s] += dp[i-
·
2015-10-31 11:10
压缩
状态压缩
dp(hdu2167,poj2411)
hdu2167 http://acm.hdu.edu.cn/showproblem.php?pid=2167 给定一个N*N的板子,里面有N*N个数字,选中一些数字,使得和最大 要求任意两个选中的数字不相邻,相邻包括上下,左右和对角线相邻。 由于N<=15,用程序判断了一下,每一行的有效状态<1600个,如果记录这些状态,然后每一行枚举当前行的上一行的状态那么极端下有1600*1
·
2015-10-31 11:10
poj
状态压缩
(位运算)
位运算优先级: ~ << >> & ^ | 常用运算: 置位(set bit)将第bit位置为1 A |= 1<<bit 清位(clear bit)将第bit位置为0 A &= ~(1<<bit) 测位(test bit)判断第bit位是否为1 (A&
·
2015-10-31 11:09
位运算
poj 2923 状压dp+01背包
好牛b的思路 题意:一系列物品,用二辆车运送,求运送完所需的最小次数,两辆车必须一起走 解法为
状态压缩
DP+背包,本题的解题思路是先枚举选择若干个时的状态,总状态量为1<<n,判断这些状态集合里的那些物品能否一次就运走
·
2015-10-31 10:27
poj
hdu 4284
状态压缩
dp
题意: 有N 个点的无向图,要去其中 h个地点做事,做事需要先办理护照,之后可以挣一定数量的钱,知道了一开始有的总钱数,和 一些城市之间 道路的花费,问可不可以在 指定的 h 个城市打完工,并回到起点 1. 链接:点我 是个好题!!! 状态转移方程dp[s][i]=max
·
2015-10-31 10:27
HDU
[HDU 4336]Card Collection[
状态压缩
DP][概率DP][容斥原理]
题意: 小吃中有N种卡片,每种卡片 i 出现的概率为 pi ,一袋小吃有可能没有卡片,但最多有一张.问集齐所有卡片需要购买小吃的袋数期望. 思路: 1.用状压dp,dp[ s ]表示在s状态时,集齐所需要的袋数期望. s = 11111表示N = 5时集齐的状态,此时dp[ s ] = 0; 注意求期望的题,对于dp的定义一般都是从终态转移到初态,也就是反着求. 因为"期望&
·
2015-10-31 10:15
Collection
基本位运算
位运算是
状态压缩
DP的基础。 C/C++中的位运算算符(按优先级排序): 红色算符与位运算算符的优先级高低顺序容易弄混,这里强调一下。 !
·
2015-10-31 10:00
位运算
HDU 2442
状态压缩
DP , 和HDU2280极其相似 1 #include <cstdio> 2 #include <cstring> 3 #include
·
2015-10-31 10:07
HDU
HDU 5025
状态压缩
蛇+bfs+dp
题目大意:孙悟空要找到一条花费时间最短的路径,路上为S的代表有蛇,经过需多花一分钟,其他情况下都是走过花费一分钟,但数字必须依次得到,最后到了唐僧处,可以经过也可以救出,救出前提是得到所有种类的钥匙 这道题,我们不断找到到达每一个点的不同状态下的最小花费时间,用dp[N][N][11][status]来存,status代表所有蛇的状态,因为蛇只有5条,所以status<32
·
2015-10-31 10:04
HDU
hdu 3006 The Number of set
二进制的
状态压缩
。比如A集合里面有{1,5,7}那么就表示为1010001。B集合有{3,4},二进制表示1100。A|B=1011101。
·
2015-10-31 10:01
number
hdu 1429 胜利大逃亡(续)
二进制
状态压缩
+BFS。对于每一个点记录所有钥匙状态下最少的时间。如果这个点这个钥匙状态没有走过或者走过了但是时间花的少了,那么就走过去。
·
2015-10-31 10:00
HDU
Mondriaan's Dream(POJ 2411
状态压缩
dp)
题意:用1*2的方格填充m*n的方格不能重叠,问有多少种填充方法 分析:dp[i][j]表示i行状态为j时的方案数,对于j,0表示该列竖放(影响下一行的该列),1表示横放成功(影响下一列)或上一列竖放成功。状态转移时,枚举每一行可能的状态上一行取反得下一行能放的状态。 #include <map> #include <set> #inclu
·
2015-10-31 10:54
poj
Balanced Numbers(数位+状压)
题意:求给定区间,一个数的数位上每个奇数出现偶数次,每个偶数出现奇数次,这样数的个数 分析:先考虑状态,但总是想不全,所以要把
状态压缩
一下,用三进制,0 该数不放 1 放了奇数次 2放了偶数次
·
2015-10-31 10:54
number
POJ-3691 DNA repair AC自动机+DP
如果是单串的匹配,那么状态转移方程就是f[i][j],表示匹配串的前 i 位最近9个数字的状态是 j 的最小改动,每个状态用
状态压缩
表示下就可以了。
·
2015-10-31 10:58
AC自动机
POJ-1699 Best Sequence
状态压缩
DP
容易想到用
状态压缩
DP来做,f[k][i][j]表示当前 i 状态有 k 个串并且串以 j 结尾的最短串。
·
2015-10-31 10:56
sequence
HDU-1693 Eat the Trees 插头DP
pid=1693 插头DP的入门题,属于轮廓动态规划一类,推荐看《基于连通性
状态压缩
的动态规划问题》,陈丹琦写的,Orz女神... 1 //STATUS:C++_AC_0MS_272KB
·
2015-10-31 10:55
tree
poj 2411
状态压缩
经典的
状态压缩
和我的上一篇几乎一样, 总的来说共有三种摆放方式: 1、竖放 2、横放 3、不放 代码如下: #include<iostream>#include<cstdio
·
2015-10-31 10:35
poj
poj 1185
状态压缩
状态压缩
经典题目 令res[i][j][k]表示第i行状态为第j个状态时,第i-1行的状态为第k个状态时最多能摆放的个数,令state[i][j]表示第i行的第j个状态,kk[i][j]表示第i行第j
·
2015-10-31 10:35
poj
nyoj 435
状态压缩
看了大牛的博客才知道这道题是周伟《
状态压缩
》中的原题,搜了一下该文档,并仔细看了一下,让我茅塞顿开,原来是这样的: 令res[i][j]表示前i-1行全部铺满,第i行状态为j的方法总数(某位置有木板则为
·
2015-10-31 10:34
压缩
zoj 2297
状态压缩
DP
其实也就是求打完boss之前的所有character 剩下PH的最大值,在和boss比较,若大于boss则赢,否则则输。打boss之前的所有角色的顺序不同,剩余的PH则不同。所以将前面的n-1个角色全排列就有2^(n-1)种可能。这几乎是不可能求出来的。每个角色在打的过程之中有两种可能打和不打,打用1表示,不打用0表示,那么20个数就可以用20位来表示,所以0~2^(n-1)每个数都表示
·
2015-10-31 10:30
ZOJ
uestc Can You Help God Wu
状态压缩
用01表示当前格子是否是正确的颜色,然后用十进制存储。
·
2015-10-31 10:39
help
状态压缩
DP
status{x1,x2,x3,x4,………xn-1,xn}表示每只鱼是否还活着的状态 xi=1表示第i条鱼还活着 xi=0表示第i条鱼已经被吃掉了 dp(status)表示形成status这种状态的概率 那么刚开始的时候(第一天),所有的鱼都活着。 那么dp({1,1,1,1….,1,1,1})=1。 学长的AC的代码: #include <cstdio>#inc
·
2015-10-31 10:58
压缩
状态压缩
与容斥原理
状态压缩
的意思其实是挺简单的,就是以前在暴力解题时要开一个好大好大的数组,结果很不幸,最后发现没办法了,空间消耗太大,写法过于复杂。
·
2015-10-31 10:57
压缩
UVA 11008 Antimatter Ray Clearcutting
UVA_11008 这个题目由于树的数目很少,我们可以把树的
状态压缩
成一个整数,并依此来进行状态转移。
·
2015-10-31 10:41
clear
PKU 1185 炮兵阵地
"N <= 100;M <= 10" 这个形状基本就是
状态压缩
DP的标志(一个几百左右, 一个十几左右).
·
2015-10-31 10:02
pku
ZOJ 4257 Most Powerful (
状态压缩
DP)
Most Powerful Time Limit: 2 Seconds Memory Limit: 65536 KB Recently, researchers on Mars have discovered N powerful atoms. All of them are different. The
·
2015-10-31 10:27
ZOJ
HDU 3247 Resource Archiver(AC自动机+
状态压缩
DP)
Resource Archiver Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 100000/100000 K (Java/Others)Total Submission(s): 899 Accepted Submission(s): 23
·
2015-10-31 10:26
resource
HDU 2825 Wireless Password(AC自动机+
状态压缩
DP)
Wireless Password Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2189 Accepted Submission(s): 610
·
2015-10-31 10:26
password
POJ 2288 Islands and Bridges (
状态压缩
DP)
Islands and Bridges Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 7685 Accepted: 1968 Description Given a map of islands and bridges tha
·
2015-10-31 10:26
bridge
hdu 4634 Swipe Bo 搜索
还有一种容易造成死循环的,比如 #E## DLLL D. .U D.SU RRRU 这样的话就必须要标记下当前位置某个方向获得钥匙的状态是否被访问过了,获得钥匙的状态可以
状态压缩
来表示。
·
2015-10-31 10:16
HDU
状态压缩
周伟论文+代码+例题
所有题解报告可以在周伟论文中看到 但是没有代码 下面是我自己的或者从网上搜集到的代码 在n*n(n≤20)的方格棋盘上放置n 个车(可以攻击所在行、列),求使它们不 能互相攻击的方案总数。 仅供和我一样的菜鸟们参考 #include <iostream> #include <cmath> using namespace std; __i
·
2015-10-31 10:16
压缩
HDU-2461 Rectangles 容斥定理,
状态压缩
这题简单说就是求矩形的面积并,线段树?只有20个矩形,我们可以用容斥来做。但是这个有个比较麻烦的地方就是要求出任意组合情况下的面积并,试过几次每次进行求解的写法都一一超时了。这里选择在dfs的时候直接枚举题目将询问的状态,只要当前状态是其子集的话,就直接加到上面。最后M次询问就能够在O(1)的时间内完成了。296MS水过了。 代码如下: #include &l
·
2015-10-31 09:15
HDU
DFS总结
思考如何剪枝 4、思考如何进入下一状态 模板: const int MAXN=100 bool vis[MAXN],compress[10<<1];//compress,
状态压缩
·
2015-10-31 09:06
DFS
Doing Homework(HDU 1074状压dp)
分析:作业数量较少,用
状态压缩
,做到第i种作业花费的天数dp[i].t,最小扣分dp[i].sc,当前完成作业标号dp[i].now,和之前完成的作业的情况dp[i].par(要求做作业顺序
·
2015-10-31 09:19
home
hdu 5067 遍历指定点集最小时间
这就是经典的旅行商问题,考虑到我们必须要遍历的点只有不到10个,可以用
状态压缩
解决。 Dp[i]
·
2015-10-31 09:34
HDU
POJ-3420 Quad Tiling
状态压缩
+矩阵乘法
题目链接:http://poj.org/problem?id=3420 非常经典的题目,推荐看<十个利用矩阵乘法解决的经典题目>。先求出相邻两列的状态转移矩阵,然后用矩阵乘法优化,相当于求在一个图上求两点之间有多少条路径数。 1 //STATUS:C++_AC_0MS_172KB 2 #include <functional> 3 #inclu
·
2015-10-31 09:07
poj
poj 3311(DP +
状态压缩
)
Hie with the Pie Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5205 Accepted: 2790 Description The Pizazz Pizzeria prides itself in del
·
2015-10-31 09:08
poj
上一页
27
28
29
30
31
32
33
34
下一页
按字母分类:
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
其他