摘要: 原题链接 考察:状态压缩dp 这道题是 91. 最短Hamilton路径 的变种 思路: 很容易在优先级问题上陷入死循环(仅限本蒟蒻),实际上一开始做的时候,第一个汉堡要求食材必须是0,等同于从0点出发.设置f[0]=0,其他都=-99999999这样就可以避免样例给的死循环问题. 以i状态更新可以 阅读全文
posted @ 2021-02-13 19:20 acmloser 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:状压dp 这道题的扩展题 91. 最短Hamilton路径 思路: 首先要处理这几点: 可以以任意点为出发点,也就是说初始化f[i点为1,其余点为0的状态][i] = 0. 预处理10位以内的3进制数. 设定f[i][j]为最后的落脚点为i,此时的状态为j.集合划分为倒数第二个点为k 阅读全文
posted @ 2021-02-13 16:20 acmloser 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:状压dp 思路: 预处理连续1的状态,再处理能放在第i行的状态.递推时枚举pos[i]和pos[i-1]的状态即可. 注意: 位运算==的优先级高于& 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 # 阅读全文
posted @ 2021-02-13 13:05 acmloser 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 原题链接 原来蒙德里安的梦想和最短路径是两个状压的套路题型....蒟蒻落泪 考察:状压dp 思路: 参考蒙德里安的梦想,本题如果i行的摆放只与i-1行有关.也就是说设i-1行的摆放情况为a,i行为b.要满足这些条件:a&b=0,a无连续1,b无连续1,a|b无连续1. 预处理合法的状态.再枚举合法的 阅读全文
posted @ 2021-02-13 12:14 acmloser 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:状压dp 时隔多年的复习233,还是做出来了 思路: 参考正常版的八皇后.我们需要标记左斜线,右斜线,已放棋子的列.在正常版我们是用数组记录,这里用状压dp可以用二进制位记录.所以三个变量now标记列,left是左斜线,right是右斜线.回溯不同于正常的dfs,正常的八皇后是用fo 阅读全文
posted @ 2021-02-13 00:10 acmloser 阅读(91) 评论(0) 推荐(0) 编辑