Atcoder Regular Contest 072 E Alice in Linear Land

来源:互联网 发布:大数据清洗工具 编辑:程序博客网 时间:2024/06/09 01:19

题目大意

在最开始Alice离终点的距离为D,第i天,Alice会有一个行走距离a[i],如果当前距离s>abs(s-a[i]),那么s就更新为abs(s-a[i]),s变为0时到达终点。
先给出若干询问,每次询问一个位置x,问能否通过改变a[x]的值,来使得Alice经过n天后不能到达终点
1q,n105

题解

显然我们可以预处理出pre[i]表示经过前i天之后的s,那么一次询问x其实就相当于我们可以设置初始距离s(0spre[x1]),使得Alice不能到达终点
设suf[i]表示要使Alice从第i天开始到第n天不能到达终点的初始距离(第i天开始)的最小值。
考虑如何处理suf[i]
显然suf[n]=1
然后对于1i<n
首先很显然的suf[i]suf[i+1],因为如果这个不成立,那么suf[i+1]一定会更小
考虑a[i]与suf[i+1]的关系
如果a[i]/2下取整大于等于suf[i+1],那么suf[i]=suf[i+1],因为显然,如果这样的话,a[i]是没有影响的,而这样一定可以就是最小
suf[i]<a[i]abs(suf[i]-a[i]) suf[i+1]suf[i]=a[i]+suf[i+1]

0 0
原创粉丝点击