[考试]20151015分治
1、前言
互测题第四弹——来自Cab的分治(也就意味着昨天就是我的了)。感觉今天的题目质量很高的,涉及的知识很全面,虽然都是在分治的基础上。暴力全部没有打对,唉。
2、Color 栅栏涂漆
大概题意:给出n个高度为h[i]的栅栏,每次可以横着或竖着给一行或一列涂色,每个栅栏小格子只能被涂色一次,求最少要涂色多少次。
题解:
二分。和NOIP2013的积木大赛非常相似,但是本题可以一列一列涂色,但是可以注意到,我们当且仅当目前处理的区域只存在一列时才需要一列涂色,所以差别并不大。
3、chebnear 农场
大概题意:在坐标系上有n个点,任意两点之间均存在一个权值,若其曼哈顿距离若小于等于k,则该两点之间存在敌对关系。我们现在要选出一些边,使这些边的最大权值最小,且满足任何存在敌对关系的点对最终处于同一个连通块中。
总结:这是一道好题,我用O(n^2)记录了所有距离满足的点对,然后O(m log m)用并查集合并及查找点之间的关系,显然太暴力了。
题解:
平面最近点对。这是本题的核心,无论你是暴力还是非暴力,用O(n log n)求最近点对,复杂度都会小一截。为什么要求最近点对?把题意转换一下,即我们要连一些边,使平面未连通的最近点对的距离大于k,就可以说明所有存在敌对关系的点对,他们都处于同一连通块了。我们将所有边以权值从小到大排序,显然从前到后连的边越少越好,这个时候我们可以二分答案,每次用并查集合并,求出当前最近点对的距离与k的关系即可判断是否合法。
4、字符加密 Cipher
大概题意:每次给定一个字符串,将其加密。加密方式为以字符串中最大字符+1作为进制数(a看做11,b看做12,以此类推),逐位进行转换,记为s,加密结果为k^s mod m。求结果。
题解:
5、Graph Cob的难题
大概题意:略
题解: