标签:复杂 影响 个人 枚举 i+1 存在 个数 math 关键点
每个人所在位置为\(a_i\)(\(a_i< a_{i+1}\),\(a_i\)均为奇数),每秒每个人可以选择往左或往右最多一定\(1\)的距离,问最少最长时间内,对于每个\(i< n\),满足存在一个时刻\(i,i+1\)两个人位于同一位置。
\(n\le 2e5,a_i\le 1e9\)
显然,可以令每个人的决策为两种:
(1)开始往左走,在碰到左边的人之后往右一直走。
(2)开始往右走,在碰到右边的人之后往左一直走。
令第一种方式为\(L\),第二种为\(R\)。
定义1:若对于\(i,i+1\),\(i\)是\(i+1\)第一个遇到的人,\(i+1\)也是\(i\)第一个遇到的人,称\(i\)与\(i+1\)匹配。
那么\(n\)个人有\(n-1\)种可能匹配。
引理1:存在最优解,使得不会有连续\(3\)种匹配不出现,即不会出现\(i-1,i,i+1,i+2\),中间的三种匹配都失效。
证明:
若\(i-1\)为\(R\),则\(i,i+1,i+2\)均为\(R\),显然将\(i,i+1\)调整成\(R,L\)不会影响答案。
若\(i+2\)为\(L\),则同理。
现在假设\(i-1,i+2\)分别为\(L,R\)
对于他们的路径,
若\(i,i+1\)分别为\(L,L\),则\(i+1,i+2\)会在蓝色节点相遇;
若\(i,i+1\)分别为\(L,R\),则\(i,i+1\)会在蓝色节点相遇;
若\(i,i+1\)分别为\(R,R\),则\(i-1,i\)会在蓝色节点相遇。
故若将\(i,i+1\)改为\(R,L\),不会使答案变劣。
推论1:不会出现连续四个位置为同一个选择。
考虑对于一种方案,一个段表示极长的,选择相同的,一大段表示两个\(R,L\)的相邻段。
对于一个大段\([R]...[R][L]...[L]\),另这四个关键点的位置分别为\(x_1,x_2,x_3,x_4\),其时间显然为\(\max(\frac{x_3-x_1}{2},\frac{a_4-a_2}{2})\);而对于两个相邻的大段,令另一个段四个关键点分别为\(y_1,y_2,y_3,y_4\),则其时间显然为\(\frac{y_3-x_2}{2}\)。
记\(f_{i,j}\)为:\(i\)为\(L\),上一个\(R\)的位置为\(j\)的最少时间。转移枚举上一个大段的结尾。
根据推论1,\(j\)的个数为常数个,转移的个数也为常数个,故总复杂度为\(O(n)\)。
标签:复杂 影响 个人 枚举 i+1 存在 个数 math 关键点
原文地址:https://www.cnblogs.com/Grice/p/14828175.html