POJ2019
给定一个正方形,每个点有权值。再给出一些询问,求询问范围内最大值与最小值之差。可以先对每行用单调队列求出极值,然后再对每列操作。由于有效点个数小于询问个数,所以可以先把所有范围都计算出。POJ2133 给定一些01串,问通过xor操作能否得出一个目标串?不能的话尽量接近,还是多解让操作数尽量少,仍然多解让数值尽量小。首先对于操作数,由于xor操作具有交换律,实际上就是参与操作的串的个数减一。由于要求很多,我们尽量用一种方法求出所有可以到达的状态,然后枚举求最优。由于n只有16,可以状态压缩然后进行BFS,这样也能求出得到每种状态的最小操作数。POJ1113 裸凸包。学习了水平序法求图包。首先把所有点按横坐标第一关键字,纵坐标第二关键字排序。把第一个点加入栈内,正序扫描所有点,之后每个点维护栈顶-1、栈顶和这个点是顺时针(叉积<0),然后加入栈中。到最后点后清空栈,从最后一个点开始倒序扫描一遍。