[LA3620]Manhattan Wiring】的更多相关文章

[LA3620]Manhattan Wiring 试题描述 输入 输出 输入示例 输出示例 数据规模及约定 见“输入” 题解 我们把“连线”的过程改为“铺地砖”的过程,总共有 11 种地砖,每种地砖上的图案连接了两个不同的边界,或只触碰了一个边界,或没有图案,具体见下图: 其中,有障碍的格子只能铺 0 号砖,有数字 2 或 3 的格子只能铺 1 到 4 号砖,空地可以铺 0 或 5 到 10 号砖. 然后我们就可以轮廓线 dp 了,把状态表示成上一行的底部是否有线,这一行的底部是否有线,当前格子…
Manhattan Wiring Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 2016   Accepted: 1162 Description There is a rectangular area containing n × m cells. Two cells are marked with “2”, and another two with “3”. Some cells are occupied by ob…
http://poj.org/problem?id=3133 题意:n×m的网格,有2个2,2个3,他们不会重合.还有障碍1.现在求2到2的路径和3到3的路径互不相交的最短长度-2.(2<=n,m<=9) #include <cstdio> #include <cstring> #include <algorithm> using namespace std; struct H { static const int M=1000007; struct E {…
http://poj.org/problem?id=3133 (题目链接) 题意 $n*m$的网格里有空格和障碍,还有两个$2$和两个$3$.要求把这两个$2$和两个$3$各用一条折线连起来.障碍里不能有线,而每个空格里最多只能有一条线,也就是说两条折线不能相交,每条折线不能自交.问两条折线的总长度最短是多少. Solution 插头dp. 类似于插头记录连通情况,我们这里的插头记录的是它属于那条折线.折线只有两条,所以插头的种类就三种:0(无插头),2(插头所在的直线是$2$所延伸出的直线),…
http://poj.org/problem?id=3133 考虑插头 dp 用四进制表示一个插头的状态,0 表示没有插头,2 表示这个插头是连接两个 2 的,3 同理 然后就是大力分类讨论了 这题还是比较友善的一题,思路相对来说简单很多 我写的括号序列的方法状态是满的,数组必须开到 $ 3 ^ 9 $ 才能过 #include <cstdio> #include <cstring> #include <algorithm> #define CIOS ios::sync…
There is a rectangular area containing n × m cells. Two cells are marked with “2”, and another two with “3”. Some cells are occupied by obstacles. You should connect the two “2”s and also the two “3”s with non-intersecting lines. Lines can run only v…
Description 题目大意:给你个N x M(1≤N, M≤9)的矩阵,0表示空地,1表示墙壁,2和3表示两对关键点.现在要求在两对关键点之间建立两条路径,其中两条路径不可相交或者自交(就是重复经过同一格子),并且不能经过墙壁,路径只能从一个格子走到相邻的下一格子.求两条路径最少需要经过的格子数减二.如果不存在解,输出0. Solution 插头DP,用三进制来表示轮廓线,0表示没有插头,1表示"2"的的插头,2表示"3"的插头 对于0的格子:00 ->…
题意:给一个n*m的矩阵,每个格子中有1个数,可能是0或2或3,出现2的格子数为2个,出现3的格子数为2个,要求将两个2相连,两个3相连,求不交叉的最短路(起终点只算0.5长,其他算1). 思路: 这题与普通插头DP有些区别了,就是要求最短路时,而且还要同时两条不相交的最短路.一开始看还是感觉挺难的,因为每个0格子还得考虑两种线,分别是2线和3线,而且还不能出现回路的,于是就想用之前的模板,括号表示法,再加上1个位来表示2/3线,即共3个位来表示一个插头信息,但是写了才发现,括号表示不了,比如仅…
%%%%orz苏大佬 虽然苏大佬的baff吸不得,苏大佬的梦信不得,但是膜苏大佬是少不得的囧 这题还是比较有收获的 哼居然有我不会做的插头DP 自己yy了下,2表示属于2的插头,3表示3的插头 假如当前是0点,并且没有左上连向,那么可以不放插头,也可以放2放3,否则就是常规操作 假如是障碍那就不能有插头 然后假如是2和3点,就可以放个单插头,或者直接继承前面的插头 我觉得很OK啊...然后就不会记录ans了 ????黑人问号啊,怎么判是否结束了啊 写了各种异或判断是否当前状态把四个位置都放了,然…
动态规划 动态规划 容易: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 不易: , , , , , , , , , , , , , , , , , , , , , , , , 推荐: , , , , , , , , , , , , , , , , , , , , , , , , Jury Compromise False co…