5、28

差分约束:

a<=b+c

add(b,a,c)

最大解->求上界-> (xi<=xj+cj) 中右边最小值(初二数学知识)->最短路

最小解->求下界-> (xi>=xj+cj) 中右边最大值 -> 最长路

LCA:

倍增思想(孩子终于看懂为什么这样写了):

  预处理:f[i][j]:i号节点的2^j辈祖先( f[i][0]=fa[i]  ,  f[i][j]=f[f[i][j-1]][j-1])

  1、让两个点深度一样高(让深度高的向浅试跳2^n)

  2、同时上跳2^n,直到父亲相同

  3、输出父亲

  因为最后一定是还差一步跳到,所以一定是输出最后的父亲节点(次小生成树的时候我卡了好久因为这个)

 

posted @ 2023-05-29 07:43  ddt_cai  阅读(27)  评论(0)    收藏  举报