J题:Symmetrical Painting  (题解在代码里面)

 1 /* 2      给你n个底下宽为1的矩形 3      左下角(i-1,Li),右上角(i,Ri) 4      找一条线l平行于x轴,让这些矩形根据l对称 5      不对称的部分删去。问最大的面积 6 7 8      首先,我们可以知道的是我们假设这个 9      线在最底下,慢慢的从最底下往最上面10      走,观察一下这个函数值到底为什么会11      增大,为什么会减小。12      (这是一种比较常见的思想,当我们遇到13      一个在一个坐标轴上运动的函数或者物体14      时可以通过分析它不断朝某个方向变化时15      的变化值)1617      这个函数变大的情况就是下面的对称轴比上面18      少,然后它如果往上面走,就会出现一种情况19      它不断走着走着会变大。20      但是在某些关键的位置会取得极值,这个是很好21      分析的,他一定是停在上下届或者是某个矩形的22      中分点。232425      接下来就可以按照算贡献的做法来做了,从小到26      大排序。。。(然后从小的往大的走)27      维护一个a就是靠近中位线的数量,维护一个b就是28      远离中位线的数量29      算一下贡献就可以了30      这个维护算是比较精妙的3132 这段文字来自33  https://www.cnblogs.com/zhuyou/p/11365730.html34 作者:zhuyou35 首先可以把
01-23 18:32
查看更多