三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

网站建设背景 前景分析适合新手的跨境电商平台

网站建设背景 前景分析适合新手的跨境电商平台 网站建设背景 前景分析,适合新手的跨境电商平台,我的家乡ppt模板免费下载,兼职游戏网站怎么做做法1 分析一下不合法的两个结构,发现这两个 \(2 \times 2\) 的矩形中不存在相邻相等的对。相邻的对有竖着相邻和横着相邻,先只考虑横着相邻。即令 \(b_{i,j}=[a_{i,j}=a_{i,j+1}]\)。 考虑未确定的一段 \(b_{i,[l,r… 做法1 分析一下不合法的两个结构,发现这两个 \(2 \times 2\) 的矩形中不存在相邻相等的对。相邻的对有竖着相邻和横着相邻,先只考虑横着相邻。即令 \(b_{i,j}=[a_{i,j}=a_{i,j+1}]\)。 考虑未确定的一段 \(b_{i,[l,r]}\),且通过两侧容易已知 \(\sum b_{i,[l,r]}\) 的奇偶性 \(p\)。则有一个贪心策略是:当 \(p=0\) 时则 \(b_{i,[l,r]}=0\);否则当 \(p=1\) 时只存在一个 \(b_{i,j}=1\)。正确性显然。则这里 “未确定” 可以扩展到每行的连续段。 于是考虑当 \(b_{i,j}=b_{i+1,j}=1\) 时,因为每个连续段最多有 \(1\) 个 \(1\),所以 \(a_{i,j}\) 与 \(a_{i+1,j}\) 分别是当且连续段的开头,所以已知 \(A\) 连续段与 \(B\) 连续段存在相邻 \(1\) 时是否产生矛盾。于是问题转换为只需将 \(b_{i,j}\) 填入 \(0/1\),然后满足一些条件。 首先可以将确定的全部填入。而未满足条件的连续段显然至少有两个位置 \(b_{i,j}=-1\),所以将条件缩小为最前面的两个 \(b_{i,x}+b_{i,y}=1\) 其余全填 \(0\)。显然有 \(|y-x|\le 2\)。 然后这里有一个结论:随便找到一组 \((i,x,y)\) 将 \(b_{i,x} \gets 1\) 然后将能确定的填入。不断重复这个过程,则一定有解。证明如下:由于只有 \(x,y\) 所以考虑 2-SAT,且只需证明从 \(b_{i,x}\) 出发,不会扩展到 \(b_{i,y}\) 即可。首先对于 \(|y-x|=1\),发现 \(i-1\) 和 \(i+1\) 只有一组会与其产生矛盾;而对于 \(|y-x|=2\),则 \(i-1\) 和 \(i+1\) 不会同时存在于 \((i,x,y)\) 矛盾的组。所以考虑扩展过程中 s=行+列+方向 的奇偶性。若扩展后 \(|y-x|=1\) 则方向不会变,且 行、列奇偶性均变化,所以 \(s\) 不变。若扩展后 \(|y-x|=2\) 则接下来扩展的方向会变化,而行变化,列奇偶性不会变,所以 \(s\) 仍然不变。而对于开头的 \((i,x,y)\),若导致无解则 \(s\) 必须变化,所以不会产生矛盾。于是直接做就 ok 了。 做法2 这里是 jiangly 的做法。 就是先把能填的都填了,然后随意填一个再填一个。其本质上应该也能用方向+行+列的角度严谨证明。
← 返回列表