摘要:
题意:给定一个方格,然后告诉你一些规则,这些规则下方格中的有些位置是相冲突的。问在方格中最多能够放置多少个士兵。分析:比赛时一开始就想着用状态压缩DP来搞,不过忘了相邻三行产生关系同样可以通过添加状态的维数来解,于是想着旋转45度之后再DP,这样就只有两行发生关系,不过写起来应该不太好写。后面就用二分匹配写了该题,结果一直WA,知道比赛之后才明白原来这题不能够进行拆点构图,因为从一个点引出去的边的端点相互之间是可以连边的,这就相当于一个成环了,而有环的图又怎么划分出两个内部没有边的二分图呢?其实拆点是用求树的最小路径覆盖的问题上的,这题显然不满足。正确的解法是状态压缩DP或者是求反建图的最大团 阅读全文