zoukankan      html  css  js  c++  java
  • 省选模拟6

    (T1:)
    对于每个点颓出一轮的贡献和权值的变化,等比数列求和即可
    观察颓出的式子可以发现答案等价于改变初值后只算一轮的答案

    然后问题变为如何计算一轮的答案
    看到1e5,想到(log^2n)(sqrt n)
    因为是图所以应该不是(log^2)
    于是想到按度数与(sqrt n)的大小分成两类
    度数小的暴力枚举影响,度数大的暴力枚举贡献

    (T2:)
    看到字符串,想到后缀自动机(???)
    考虑在首尾加字符等价于沿着parent树向下跳和在自动机上走
    因为有实际意义(添加字符),所以一定是个DAG
    拓扑排序就好了(注意两种走法的贡献不同)

    (T3:)
    神犇大模拟(@^%#&^@%#^@)

    首先考虑LIS与LDS交集最大为1
    对于每个位置i统计有多少个LDS经过,记为(f_i)
    再将LDS的总数记为(all)
    那么一个LIS ((j_1,j_2...j_k)) 不合法当且仅当(sum_{x=1}^k f_{j_x} = all)

    所以,我们可以首先根据类似拦截导弹的方法算出(f)数组
    然后跑LIS,并同时对于每个转移点维护两个(sum f)不同的转移方案
    (因为两个(sum f)不同,所以一定存在一个不等于(all)的方案)
    最后对于每一个LIS的合法结束点看是否有不等于(all)的方案
    如果有的话,再根据转移时记录的信息构造出方案

    最后将LIS使用过的位置删去,再求一遍LDS并构造方案即可
    ……

  • 相关阅读:
    SQL优化值-exists
    Oracle执行计划详细讲解
    SpringBoot配置加解密工具之Jasypt
    升级Spring Boot 2.0后RelaxedPropertyResolver不可用的解决方案
    Spring, SpringBoot之占位符源码解析
    springboot启动原理深度解析
    Java SPI技术深度解读
    [VCSA7]添加共享磁盘
    [VCSA7]MacOS部署VCSA7
    [Oracle]查看数据库磁盘空间
  • 原文地址:https://www.cnblogs.com/Gkeng/p/12214569.html
Copyright © 2011-2022 走看看