CF5E Bindian Signalizing

Posted go-and-fight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF5E Bindian Signalizing相关的知识,希望对你有一定的参考价值。


考虑如何使环变成一条链,等价于 :环中的两点之间如果包含了链的左端点,则这两点必然不能互相看到

所以只要保证链的左端点高度最高即可。

对于有若干个最高的山也不会影响。因为两个最高点之间任意方向的弧形都满足条件。

设l[i]表示i左边第一个比i高的位置,r[i]表示i右边第一个比i高的位置,cnt[i]表示在i到r[i]的左开右闭区间内高度等于i的山的数目

任意符合要求的两点只会算一次。所以规定符合要求的两点的贡献计于靠左且高度较小的点上。

考虑一个点 i 的贡献。因为在 i 右边第一个高度大于 i 的点j后的点不可能 与i配对。所以只需统计 i — j 区间还有多少个与 i 高度相等的点即可

但是当符合要求的两点的靠左的点高度较大时 即 点(i, l[i]) 与 点 (i ,r[i])并没有考虑,在每个点统计答案时加 2 即可

但是当 l[i]=0 且 r[i]=n 时, (i, l[i]),(i ,r[i])其实是一组

以上是关于CF5E Bindian Signalizing的主要内容,如果未能解决你的问题,请参考以下文章

ed2k链接文件,最快下载方式

ed2k链接文件,最快下载方式

分布式技术一周技术动态 2016-10-09