传送门

线段树好题啊。


题目要求的是sum−a−b−c+maxsum-a-b-c+maxsum−a−b−c+max{∣a+v∣+∣b+v∣+∣c+v∣|a+v|+|b+v|+|c+v|∣a+v∣+∣b+v∣+∣c+v∣}.

那么后面有几种情况:

  1. a+v+b+v+c+va+v+b+v+c+va+v+b+v+c+v
  2. a+v−b−v+c+va+v-b-v+c+va+v−b−v+c+v
  3. a+v+b+v−c−va+v+b+v-c-va+v+b+v−c−v
  4. −a−v+b+v+c+v-a-v+b+v+c+v−a−v+b+v+c+v
  5. a+v−b−v−c−va+v-b-v-c-va+v−b−v−c−v
  6. −a−v+b+v−c−v-a-v+b+v-c-v−a−v+b+v−c−v
  7. −a−v−b−v+c+v-a-v-b-v+c+v−a−v−b−v+c+v
  8. −a−v−b−v−c−v-a-v-b-v-c-v−a−v−b−v−c−v

<=>

  1. a+b+c+3va+b+c+3va+b+c+3v
  2. a−b+c+va-b+c+va−b+c+v
  3. a+b−c+va+b-c+va+b−c+v
  4. −a+b+c+v-a+b+c+v−a+b+c+v
  5. a−b−c−va-b-c-va−b−c−v
  6. −a+b−c−v-a+b-c-v−a+b−c−v
  7. −a−b+c−v-a-b+c-v−a−b+c−v
  8. −a−b−c−3v-a-b-c-3v−a−b−c−3v

那么对于vvv之前的数维护全局最大值就行了。

一共也就8种值,分类讨论就行了

代码

05-11 23:02