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并构造方案即可
    ……

  • 相关阅读:
    TCP通信丢包原因总结
    根据日志查看QPS
    mysql:备份、复制
    集群
    redis性能提升
    redis源码——多机数据库的实现
    redis源码——单机数据库的实现
    redis 设置过期Key 的 maxmemory-policy 六种方式
    字符处理
    贝塞尔曲线
  • 原文地址:https://www.cnblogs.com/Gkeng/p/12214569.html
Copyright © 2011-2022 走看看