省选模拟22

A. 遮天蔽日

  毒瘤计算几何。

  首先对于重心可以将多边形三角剖分,那么重心就是每个三角形重心对于面积的加权平均。

  然而这个东西只适用于凸多边形,对于任意多边形只需要将三角形的面积和重心变成有向的,用叉积即可。

  对于旋转,可以考虑复数中乘法模长相乘,幅角相加的性质,如果我们将一个向量看做一个复数,那么只要乘上旋转角方向的单位向量就可以了。

  然后就可以将重心公转,假如不考虑自转那么整个多边形的形状是不会改变的,所以可以得出公转之后多边形的位置。

  自转就比较简单。之后就是求出来被遮挡的面积。

  考虑求出来所有有用的直线(太阳和所有端点的连线,切线),按照极角排序,那么相邻两条线中间的弧要么全部能看到,要么全不能。

  所以只要在这段弧上任取一点,判断这个点和太阳的连线是否经过干扰器即可。

  然而不好打,所以现在还没打出来。

B. 三元组

  用PAM做非常无脑,直接干就完了。

  对于每一个点,用PAM可以求出来以他为结尾的回文串的总长度,和以它为结尾的回文串个数,于是就可以得到回文串开头的下标之和。

  同理把串翻转再做一遍就可以得到结尾的下标之和。对应位置乘起来即可。

C. 最有价值

  最大权闭合子图模板题,类似寿司餐厅,不想说了。

posted @ 2020-02-09 21:22  tdcp  阅读(128)  评论(0编辑  收藏  举报