zoukankan      html  css  js  c++  java
  • CSP-SJX2019 解题报告

    T1 日期

    • 日高于 (31) 或等于 (00) 的要修改 (1) 次。
    • 月高于 (12) 或等于 (00) 的要修改 (1) 次。
    • 月等于 (02) 且日大于 (28) 的要修改一次。
    • 月等于 (04,06,09,11) 且日等于 (31) 的要修改一次。

    T2

    这种套路的东西,显然要枚举右端点。

    假设某一段 (a) 的和为 (x)(b) 的和为 (y),新加入 (i) 位置,那么新产生的贡献为

    [left(x+a_i ight)left(y+b_i ight)-xy=xb_i+ya_i+a_ib_i ]

    记一下以 (i) 位置结尾的段的和即可,具体地,(a_i)(b_i) 的贡献次数均为 (i) 次,所以处理完后分别加上 (a_i imes i)(b_i imes i)

    T3 网格图

    我寻思着这只是加速克鲁斯卡尔算法,也不用剖析什么本质吧……

    因为每行每列的边权分别相同,所以每次肯定连完以行或一列的边。

    先把最小的行和列连了,假设连了 (i) 行和 (j) 列,新连一行会有 (j-1) 个点连过边了,只需要连 (m-j) 条新的边;新连一列会有 (i-1) 个点连过边了,只需要连 (n-i) 条新的边。

    黑色代表未处理过的行列,空白代表不需要连的边,红色代表在列上连的边,绿色代表在行上连的边,蓝色代表新连的边。

    为什么是正确的呢?因为本题的性质保证了只会有一个大连通块和没连过边的点。

  • 相关阅读:
    LOJ #6008. 「网络流 24 题」餐巾计划
    P2144 [FJOI2007]轮状病毒
    随记
    1010: [HNOI2008]玩具装箱toy(斜率优化)
    HDU 3507 Print Article(斜率优化)
    4819: [Sdoi2017]新生舞会(分数规划)
    POJ 2976 Dropping tests(01分数规划)
    spoj 104 Highways(Matrix-tree定理)
    dp专练
    4152: [AMPPZ2014]The Captain
  • 原文地址:https://www.cnblogs.com/May-2nd/p/13916312.html
Copyright © 2011-2022 走看看