20181012提高测试

(校内权限题,自用,不发题面)

T1

【正解】

直接模拟

可以用sprintf,懒得写了

复杂度大概\(O(N^{2})\)

代码

T2

【错解】

这不是那啥……切比雪夫距离吗?

\(dist(p,q)=max\{|p_{x}-q_{x}|,|p_{y}-q_{y}|\}\)

没找到啥规律,怒写个O(TQN),过了52

太强那

【正解】

考虑转切比雪夫为曼哈顿

以目标点为原点

由于

\(max\{|x|,|y|\}=|\frac{x+y}{2}|+|\frac{x-y}{2}|\)

\((x,y) \to (\frac{x+y}{2},\frac{x-y}{2})\)

因为不想开double,所以可以算完后除以2

x、y坐标是独立的,分别排个序,然后瞎搞

复杂度\(O( \sum (N+Q)logN)\)

代码

T3

【错解】

树套树裸题啊

不难看出所有操作的前提条件都是小于x,所以可以按x排序,线段树瞎搞

写了200行,然后把自己hack了

交了个暴力上去,12pts

【正解】

由于k的和不超过5e6,时限又那么大,可以暴力线段树

每个节点维护一个pair(最小值,位置)

修改直接lazy

查询直接for一个k,每次找最小赋成INF,用vector记下

最后还原

再用你丰富的卡常技巧就可以AC

复杂度:\(O((N+KlogN)*wys)\)

代码

posted @ 2018-10-15 16:13  lst_mengbier  阅读(206)  评论(1编辑  收藏  举报