摘要:
把环倍长,破环成链设f[i]表示i一次性能飞达的最右边的点,因为f[]单调递增,所以可以$O(n)$求出这样就形成了一个树结构,对于每个节点,在其到根节点路径上二分出深度最大的点,使得其飞过一圈常数优化:注意到答案只有两种,所以可以进行最优性剪枝内存优化:只需要开3个200W的数组即可,分别表示相邻... 阅读全文
摘要:
首先为了保证发车时间都不同,T[i]=max(T[i],T[i-1]+1)然后设f[i]表示前i列车回来的最早时刻f[i]=min(max(T[i],f[j]+i-j-1)+s*2+i-j-1)=min(max(-j+T[i],f[j]-2*j+i-1))+s*2+i-1=min(min(-j)+T... 阅读全文