csp-s模拟测试50

指望得分:30+43+60html

实际得分:0+43+60ui

rk133d

 

 

A. 施工

看错题了,一是高度差的绝对值算了两遍,二是一次抬起一栋建筑。htm

正解:blog

 

  • 手模发现5 1 2 5 的坑抬成 5 1 3 5是只会变差的,也就是对于一个凹下去的部分,答案取决于最深的位置。因此坑底必定是平的。
  • 把坑抬到比两边高是不优的。显然

而后把式子拆开维护前缀和,最后算出对称轴判下合法性加点特判。get

直接枚举决策点是O(n^2)的。class

假设决策点是j,那么全部k的高度小于j+1~i-1,能够用一个单调递减的单调栈维护决策点。im

详细见img

 

B. 蔬菜

二维莫队可水,复杂度玄学。co

正解四维偏序,平方转化点对。

 

 

C. 联盟

对于一条边,答案为即两棵树合并后的直径的端点,必定是四个端点中的两个。

若是咱们预处理获得全部咱们想要的子树中的最长链,那么咱们就解决了

从原树的两个端点进行dp,这样咱们得不到的子树中必定包含原树的直径。即便有多个直径亦是如此。

对于全部边按是不是直径上的边分类讨论。

最后断开任意一条答案边,再分别求下直径,输出直径中点(全部直径必定交于该点)

复杂度线性

主要考察树的直径性质和求法

相关文章
相关标签/搜索