轮廓线&&插头dp
PoemK
这个作者很懒,什么都没留下…
展开
-
hdu 4804 Campus Design dp(记忆化搜索 /轮廓线 )
Campus DesignTime Limit: 15000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 994 Accepted Submission(s): 499Problem DescriptionNanjing Unive原创 2016-07-01 21:21:13 · 442 阅读 · 0 评论 -
poj 1739 Tony's Tour 插头dp
题目链接题意:障碍格子不能走,非障碍格子必须遍历, 要求从左下角走到右下角,问方案数。解:1.添加两行,转化为求回路:.####. … … #include<cstdio>#include<string>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<vector>us原创 2016-08-23 08:13:48 · 455 阅读 · 0 评论 -
hdu 3377 Plan 插头dp
题目链接题意:每个格子都有权值, 从(1,1)走到(n,m),每个格子不能重复访问,问最大得分。解:不能用2进制,用最小表示法加以判断防止出现多个回路。#include<cstdio>#include<string>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<vector>原创 2016-08-22 18:54:06 · 466 阅读 · 0 评论 -
FZU 1977 Pandora adventure 插头dp
题目链接题意:有些格子必须访问,有些格子不能访问,有些格子可以访问。 只能形成一个环。问线路的数量。解:之前做的一道题是要么可以访问,要么不能访问。区别是这个题需要记录回路是否已经闭合。直接加在状态里即可。而且必须要记录是否闭合!!!1.这题时间卡的太紧,用stl模拟链地址法还是会超时。2.行末shift()容易掉。3.如果已经形成了闭合回路,当前格可能仍会有上插头或者左插头。这点非常重要。如果只原创 2016-08-22 11:29:47 · 348 阅读 · 0 评论 -
hdu 1693 Eat the Trees 插头dp
题意:在一个n*m的棋盘内,形成回路,使遍历所有格子,有些格子成为障碍格子,不能在上面建立线,求方法种数。(不限制回路数量)解:假如没有树,严谨的考虑,应该输出0,ac代码也可能会输出1。和只能有1个回路的题不同的地方在于:只能有一个回路,那么上左插头只能在最后一个非障碍格子,而这个题可以在任意合法位置(只要有上左插头)。只要保证处理好每个格子的上左插头,并且不出界,就可保证每一个新建连通分量的线都原创 2016-08-21 21:12:44 · 440 阅读 · 0 评论 -
poj 3133&&LA 3620 Manhattan Wiring 插头dp
题意:在棋盘里,两个格子标为2,两个格子标为3,障碍格标为1,空格标为0。现在要把两个2相连,两个3相连,这两条线不能交叉,问最短线长。解:对于标有数字的格子,只有4种连法:上、左、下、右对于障碍格子,不能连任何线,只有一种连法:空。对于空格子,有7种连法,其中一种是空。 (上下、左右、上左、上右、下左、下右、空)只要保证有数字的格子只用4种连法,并且’2’线和’3’线不相交,就自然保证了只有一条原创 2016-08-21 19:21:46 · 514 阅读 · 0 评论 -
URAL 1519 Formula 1 dp(插头)
题意:给出n*m的方格,有些格子不能铺线,其它格子必须铺,形成一个闭合回路。问有多少种铺法?解:4进制状压表示,用m+1位表示轮廓线上的m个位置的情况。0表示没有插头与线相交,1表示插头’左’,2表示插头’右’。类似括号匹配。重要的一点是轮廓线上方的线路不能相交。转移:1.当前格上左无插头,则该格下右建插头,新的连通分量。2.上或左有插头,必连下或右,仅一个。3.上左均有插头,考虑连通分量的消除。轮原创 2016-08-20 02:07:05 · 983 阅读 · 0 评论 -
poj 1185 炮兵阵地 3进制+轮廓线
炮兵阵地Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 25634 Accepted: 9885Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能原创 2016-08-06 22:36:52 · 387 阅读 · 0 评论 -
LightOJ 1270 Tiles (II) 轮廓线上的动态规划
题意:给出n*m的方格,要你在所有空位铺上6种形状不同砖,有些格子不能铺,问有多少种铺法。原创 2016-08-06 19:25:08 · 617 阅读 · 0 评论 -
FZU 2107 Hua Rong Dao 轮廓线上的动态规划
Problem 2107 Hua Rong Dao Accept: 365 Submit: 796Time Limit: 1000 mSec Memory Limit : 32768 KB Problem DescriptionCao Cao was hunted down by thousands of enemy soldiers when h原创 2016-08-05 09:02:03 · 488 阅读 · 0 评论 -
hdu 5731 Solid Dominoes Tilings 插头dp+容斥原理
题意:给出一个n*m大小的棋盘,需要你用1*2的砖铺满它,砖不可重叠,并且要求棋盘上没有行分割线或列分割线。输出方法种数。需要取模。原创 2016-07-23 21:26:31 · 1375 阅读 · 3 评论 -
LA 4058 ACM Puzzles dp(插头)
题意:给出3*n(n#include#include#include#include#include#include#includeusing namespace std;#define all(x) (x).begin(), (x).end()#define for0(a, n) for (int (a) = 0; (a) < (n原创 2016-07-18 21:47:08 · 464 阅读 · 0 评论 -
uva 10572 Black & White 插头dp
题意:给出一个m*n的棋盘,(2使得白色格子只有一个连通分量,黑色格子也只有一个连通分量,并且不能出现2*2的矩形满足内部4个格子同色。问涂色方法数。如果答案>0,输出任意一种涂色方案。解法:轮廓线上的动态规划,我学着书上写就已经很累了。#include#include#include#include#include#include#include#inc原创 2016-07-16 22:43:53 · 1327 阅读 · 0 评论 -
Live Archive 3620 - Manhattan Wiring dp(插头)
题意:给出一个n*m的网格,每个格子上有1个数字:0/1/2/3。0代表空白区域,1代表障碍。现在需要用线将两个2连接,两个3连接。且两线不相交,问最短连线。关键:每个格子无非11种情况:空白不连线、上下、左右、上左、上右、下左、下右、上、下、左、右。学着书上写了一发。#include#include#include#include#include#inc原创 2016-07-15 08:31:04 · 717 阅读 · 0 评论 -
uva 11270 Tiling Dominoes 轮廓线DP
题意:给出一个n*m的棋盘(n*m解: 若n 从上到下,从左往右,以每个格子为阶段,枚举能够达到该状态的前驱,进行状态转移。实际铺设过程中该位置有几种情况: 1.不铺:如果该位置的上一层对应位置不为空(该层左边随意)2.左铺:如果前一位置为空,并且上层的该位置不为空。3.上铺:如果上层该位置为空(该层左边随意,会被底下的层处理掉原创 2016-07-11 11:01:52 · 559 阅读 · 0 评论 -
hdu 4285 circuits 插头dp
题目链接题意:要求在在给定的n*m(2<=n,m<=122<=n,m<=12)区域内形成恰好k个回 路。使得所有格子均被遍历,(一个格子只能被一个回路遍 历)。并且不能出现一个回路包住另一个回路的情况。问方法总 数。解法:要求K个,并不是问题,只要在状态中加入一位存储回路数目即可。 12*12/4=36,以8进制来看,大约要留2个8进制位,就是6个二进制位。然后就是保证不出现环套环的情况:在回原创 2016-08-23 19:23:01 · 288 阅读 · 0 评论