码迷,mamicode.com
首页 > 其他好文 > 详细

CF5E Bindian Signalizing

时间:2019-10-10 00:24:50      阅读:34      评论:0      收藏:0      [点我收藏+]

标签:多少   要求   如何   位置   nal   article   影响   nbsp   端点   


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

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

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

设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

标签:多少   要求   如何   位置   nal   article   影响   nbsp   端点   

原文地址:https://www.cnblogs.com/Go-and-Fight/p/11645133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!