• arc120e 1d party


    某些题解能不能写的清楚一点啊。。

    首先容易发现一个性质:每个人肯定是全速走,发生一次碰撞以后拐弯去碰另一个。然后就得到了(O(nlog V))的做法。

    可是这没有arc的b格!还需要想线性做法。

    首先考虑不合法的情况。什么时候一个人往右走,一直碰不到右边的点?肯定右边的点也在往右走,右边的点的右边也在往右走,右边的点的右边的右边也在往右走,他右边的所有点都是往右走的。

    那我们强制1往右走,n往左走,就一定合法了。

    当然上面只是一些准备工作。有一个重要的想法,就是把拐弯看成穿透。

    现在问题变成了什么样呢?初始时刻给所有人规定一个方向,他一直朝这个方向走。每次A撞上B,如果B的另一边没有相遇,A就继续走,否则A停下。

    好像还是没法做?

    我们可以把这n个点分成若干RRRRRRRLLLLLL这样的段。考虑如何统计答案。对于段内,肯定是最后一个R和所有L相撞,第一个L和所有R相撞,最终只有最后一个R还在走,别的人都停了。

    (p)数组记录所有第一个L的位置,答案就是(maxfrac{ a_{p_i}-a_{p_{i-1}-1}}{2})

    又发现一个性质,不存在LLL,RRR这样的子串。于是我们切掉了arc的e题!

    代码

  • 相关阅读:
    ubuntu让脚本在后台运行
    Ubuntu nohup 使用
    ubuntu添加开机启动程序
    ubuntuc查找正在运行的进程
    Python搭建的网站突然缺少包报错
    很杂
    logging模块浅记
    在CentOS 7上安装&配置PostgreSQL 12
    云服务器的centos7桌面版需要安装的应用
    云服务器配置桌面版(windows连接)
  • 原文地址:https://www.cnblogs.com/happyguy/p/14922678.html
Copyright © 2020-2023  润新知