摘要:
http://codeforces.com/contest/260/problem/E 木有想到好办法,只会暴力处理=。=。。 先将所有坐标离散化,之后将9个块全排列枚举,知道每个位置最终含有节点数有可以通过2分求出x坐标已经y坐标上各自的两条分隔线,但是这样分隔并不一定是一个答案,剩下的判断即转化成求某个[xi,xj]内[yi,yj]的节点数量,这个问题可以用树套树logn^2来解决,最后200行代码ac,还好不怎么debug就通过了,但看着tourist超短的代码就知道我又太暴力了。。View Code 1 //By Lin 2 #include<cstdio> 3 #incl 阅读全文
摘要:
http://codeforces.com/problemset/problem/200/A 好题,虽然我又没独立想出来=。=。。给一个n*m的点矩阵,询问K次,每个输入一个坐标x,y,寻找一个于该坐标曼哈顿距离最小且未被占有的点,并占有它。 做法是每次询问从x开始往左右暴力枚举横坐标,直到横坐标绝对值差已经大于当前答案。可以保证第i个询问,最多只需要向两边枚举sqrt(i)次。同时可以利用并查集,对于每个横坐标O(1)求出最接近的点。。最后当n比m大很多时候算法会退化,此时可以通过交换横竖坐标来解决。View Code 1 //By Lin 2 #include<cstdio> 阅读全文