zoukankan      html  css  js  c++  java
  • csp-s模拟102

    T1:
      考虑肯定要断环成链,但从什么地方断较好?
      发现如果从最大值断开的话,前面的都不会跨过边界(好!)
      那么我们就可以做一个类似音乐会的等待的东西就行了

      当然还需要一些特判:如果一个数它是后缀max而不是前缀max,那么它和最大值就会有一个贡献且之前还没有算到,加上就好了
     
    T2:
      有一个很好理解的强悍做法:@DeepinC
     
    T3:
      枚举删某个点的复杂度肯定是去不掉的,考虑如何优化计算删一个点答案的复杂度

      发现最暴力的每次删掉一个点重跑一遍有很多冗余
      考虑可以先预处理出从某个开始点到任意点i的最长路(f_i),任意点i到某个结束点的最长路(g_i)

      考虑按照拓扑序枚举删除的点y
      开始时将所有(g_i)加入数据结构
      每次先将所有连向该点的边(x,y)产生的最长路(f_x+dis_{x,y}+g_y)删除(同时需要删除(g_y))
      再将所有该点连出的边(y,z)产生的最长路(f_y+dis_{y,z}+g_z)加入(同时需要加入(f_y)

      可以使用可删除指定元素堆或权值线段树解决

  • 相关阅读:
    链路追踪
    Zuul网关
    MyBatis批量插入
    自定义组件使用v-model
    正则表达式入门
    博客园主题1【备份】
    关于我
    input输入框内容规范正则总结
    实例003:完全平方数
    python基础day5dict
  • 原文地址:https://www.cnblogs.com/Gkeng/p/11842365.html
Copyright © 2011-2022 走看看