[atARC063F]Snuke's Coloring 2】的更多相关文章

首先,可以通过将所有$x_{i}=0$都选择第1类,其余选第2类,构造出一个以$(0,0)$和$(1,h)$为左下角和右上角的矩形,答案即为$2h+2$,类似地还可以构造出$2w+2$ 若最终的矩形不包含与$x=\frac{w}{2}$或$y=\frac{h}{2}$,那么意味着答案不超过$w+h$,而上面的构造得到了答案$2\max(w,h)+2$的下限,因此一定不优 接下来,我们分别考虑与$x=\frac{w}{2}$有交和与$y=\frac{h}{2}$有交的答案,取max即可 以$y=\…
[Arc063F] Snuke's Coloring 2 题目大意 给你一个网格图,一些点上有标记,求边长最大空白矩形. 试题分析 专门卡\(\log^2 n\)系列. 首先由题意我们可以找到答案的下界:\(\min(H,W)\times 2+2\). 那么就是说这个矩形的周长如果要大于下界肯定会跨越中轴线\(H\)或\(W\),那么我们只需要在两边枚举即可. 这个东西看起来没什么用,我们姑且将其当作常数优化,但是在后面的讨论中它极大地简化了问题. 继续考虑传统扫描线的方向,那么看看当我们确定了…
Description There is a rectangle in the xy-plane, with its lower left corner at (0,0) and its upper right corner at (W,H). Each of its sides is parallel to the x-axis or y-axis. Initially, the whole region within the rectangle is painted white. Snuke…
Problem Statement We have a grid with H rows and W columns. At first, all cells were painted white. Snuke painted N of these cells. The i-th ( 1≤i≤N ) cell he painted is the cell at the ai-th row and bi-th column. Compute the following: For each inte…
There is a rectangle in the xy-plane, with its lower left corner at (0,0) and its upper right corner at (W,H). Each of its sides is parallel to the x-axis or y-axis. Initially, the whole region within the rectangle is painted white. Snuke plotted N p…
题意 小 \(\mathrm{C}\) 很喜欢二维染色问题,这天他拿来了一个 \(w × h\) 的二维平面 , 初始时均为白色 . 然后他在上面设置了 \(n\) 个关键点 \((X_i , Y_i)\) , 对于每个关键点他会选择进行下列操作的一个 : 将 \(x > X_i\) 的部分染成黑色. 将 \(x < X_i\) 的部分染成黑色. 将 \(y > Y_i\) 的部分染成黑色. 将 \(y < Y_i\) 的部分染成黑色. 现在让你 , 最大化所有操作结束之后白色部分…
传送门 就是给出一个矩形,上面有一些点,让你找出一个周长最大的矩形,满足没有一个点在矩形中. 这个题很有意思. 考虑到答案一定会穿过中线. 于是我们可以把点分到中线两边. 先想想暴力如何解决. 显然就是枚举矩形的上下边的坐标然后求两边的最大宽度. 用单调栈搞一下这样的效率是O(n2)O(n^2)O(n2)的. 考虑继续优化. 干脆我们只枚举一条边,另外一条用线段树维护最值. 代码: #include<bits/stdc++.h> #define N 300005 #define lc (p&l…
传送门 谁能想到这道题会写这么久. 本来是一道很sb的题啊. 就是每次选一个点只会影响到周围的九个方格,随便1e9进制就可以hash了,但是我非要作死用stl写. 结果由于技术不够高超,一直调不出来. 然后换成1e9进制的hash发现一直WA. 感觉是long long与int之间卡出了一点问题吧. 然后调了半天终于调过了. 代码: #include<bits/stdc++.h> #define N 100007 using namespace std; int n,h,w,n0,tot=0,…
Description 传送门 Solution 我们先不考虑周长,只考虑长和宽. 依题意得答案下限为max(w+1,h+1),并且最后所得一定是个矩形(矩形内部无点). 好的,所以!!!答案一定会经过$y=\frac{h}{2}$或$x=\frac{w}{2}$.否则答案就..显然不满足下限了啊. 我们先考虑答案经过$y=\frac{h}{2}$的情况.另一种情况同理(或者把图翻过来也可以) 我们维护两个单调栈和一个线段树.一个栈a维护直线下方的递减y序列和序列内点的编号,另一个栈b维护直线上…
题面 一句话题面:给你一些点,求这些点之中夹的最大的矩形周长.(考虑边界) Solution 首先是一个结论,答案矩形一定经过\(x=\frac{w}{2}\)或经过\(y=\frac{h}{2}\),不然答案一定不优. 怎么说?因为答案一定\(\ge 2*max(h,w)+1\),这个可以通过左右|上下显然得出. 接下来我们考虑扫描线,对于从左往右的\(p_i.x\),令\(p_i.x\)为右边界,单调栈维护上下边界然后左边界直接每一次-就行了. 唯一的问题在于弹栈时的一些小操作,代码中都有注…