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
【状态压缩】
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
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
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
UVa10651(记忆化搜索)
状态压缩
,记忆化搜索 code: #include <stdio.h> #include <string.h> #define len 12 #define min
·
2015-11-12 19:15
uva
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
压缩
插头与轮廓线与基于连通性
状态压缩
的动态规划
什么是基于
状态压缩
的动态规划 基于
状态压缩
的动态规划问题是一类以集
·
2015-11-12 19:44
动态规划
[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+最短路+
状态压缩
)
分析:
状态压缩
,先预处理各点之间的最短路,然后sum【i】【buff】表示在i点,状态为buff时所耗时。。。。。。。
·
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 1429 (BFS+记忆化状压搜索)
有了门之后,就要
状态压缩
+记忆化搜索。不然这个图会搜死你。 本题的
状态压缩
基于一个事实:尽管可以走回头路,但是回头是有理由
·
2015-11-12 17:53
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)
(看了别人的题解才想起来怎么去做,关于
状态压缩
的动归,还是没能很好的形成思维。
·
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
uva 1601 poj 3523 Morning after holloween 万圣节后的早晨 (经典搜索,双广+预处理优化+
状态压缩
位运算)
这题数据大容易TLE 优化:预处理, 可以先枚举出5^3的状态然后判断合不合法,但是由于题目说了有很多墙壁,实际上没有那么多要转移的状态那么可以把底图抽出来,然后3个ghost在上面跑到时候就不必判断了,减少了两次无用的枚举。 减少代码的方法:1.结点没有3个时增加冗余点,2.把位置坐标二元组编号成一个数,这点在预处理时可以顺便完成(坐标范围0~15),3.把三个ghost的位
·
2015-11-12 17:09
AFTER
Flip Game--POJ 1753
有一段时间没有做acm题目了,感觉智商下降了不少,这倒
状态压缩
枚举题,以前没有做过,还是最简单的一题,所以结果可想而知,忧伤,可还是不想放弃。
·
2015-11-12 16:08
game
黑客的攻击 Hacker‘s crackdown UVA11825
状态压缩
动态规划
题目的意思是有n台服务器运行着n类程序,一个黑客有n中类的病毒,最多每台服务器可以放一种病毒,但是相邻的服务器会感染同种病毒,只暂停一种服务,问能够暂停的程序的最大种数。 解决的方法是,用位表示集合,问题的答案相当于是求出最多集合的组合,组合内的集合并集是全集。求这些组合最大的数目。转移方程式f[s]={f[s^s0],s0这种组合内的集合并集是全集}+1. 这里涉及到一些集合的操作: 或运
·
2015-11-12 16:37
rack
HDU 3635 Dragon Balls
题解:做到一种并查集的新题型,在
状态压缩
的时候传递祖先的信息,每个根结点都是最多移动一次的,所以记录移动次数把自己的加上父亲结点的就是移动总数了。
·
2015-11-12 16:32
drag
hdu 5067 Harry And Dig Machine
这就是经典的旅行商问题,考虑到我们必须要遍历的点只有不到10个,可以用
状态压缩
解决。 dp[i][j]表示i状态的点被访问过了,当前停留在点j 需要的最少时间,状态转移方程:dp[i|(1<
·
2015-11-12 16:30
mac
HRBUST 1473 教主的遗产【
状态压缩
】
Description 恭送教主! 教主在2012年7月19日上午10:48,坐上前往北京的火车,从此开始了高富帅的生活。 在教主的的大学四年ACM生涯中,他用事实告诉我们,要想在比赛拿奖,除了平时的刻苦努力外,很大一部分还要依赖比赛时是 做题策略,简单来讲就是做题顺序,唯有想把能过的都过掉,然后再过难题,这样才能在比赛中拿奖。 我们将用这个做题顺序量化表示
·
2015-11-12 15:24
压缩
ZOJ 3471 Most Powerful 【
状态压缩
】
Recently, researchers on Mars have discovered N powerful atoms. All of them are different. These atoms have some properties. When two of these atoms collide, one of them disappears and a lot of power
·
2015-11-12 15:23
ZOJ
POJ 3254 Corn Fields【
状态压缩
】
Description Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ≤ 12) square parcels. He wants to grow some yummy c
·
2015-11-12 15:22
Field
算法训练想法
http://www.doc88.com/p-468115455065.html 排序训练:冒泡、选择、快速排序 大数问题:大数加法、减法、乘法、除法 hdu:大菲波数 动态规划:背包问题、
状态压缩
·
2015-11-12 15:06
算法
HDU 1429
pid=1429 经典的找钥匙开门走迷宫问题,把钥匙
状态压缩
一下,然后对迷宫bfs #include <iostream> #include <cstdio> #
·
2015-11-12 14:51
HDU
HDU 1074
pid=1074 每个任务有一个截止日期和完成时间,超过截止日期一天扣一分,问完成全部任务最少扣几分,并输出路径 最多15个任务,
状态压缩
一下进行dp,输出路径的话要记录每种状态的前驱,存起来逆序输出
·
2015-11-12 14:39
HDU
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
HDU 3605
3605 用最大流做的,G++超时,C++可以过,看别人写的叫二分图多重匹配,还不会这玩意一会学学 显然的最大流模型,n是100w,直接做最大流一定超时,但是注意到m只有10,所以可以对所有点进行
状态压缩
·
2015-11-12 14:24
360
HDU 5025
pid=5025 蛇最多只有五条,
状态压缩
一下,vis增加两维,表示取得钥匙的状态和蛇的状态,然后一个优先队列的bfs即可解决问题,简单题 #include <iostream>
·
2015-11-12 14:21
HDU
2014 Super Training #6 G Trim the Nails --
状态压缩
+BFS
原题: ZOJ 3675 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3675 由m<=20可知,可用一个二进制数表示指甲的状态,最多2^20,初始状态为0,表示指甲都没剪,然后BFS找解,每次枚举剪刀的两个方向,枚举移动的位数进行扩展状态即可。 代码: #include <iostr
·
2015-11-12 14:33
super
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
上一页
22
23
24
25
26
27
28
29
下一页
按字母分类:
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
其他