摘要: 本文研究一个 $ n \times n $ 网格问题,其中第 $ i $ 行第 $ p_i $ 列有一个权值为 $ w_i $ 的棋子,$ p $ 为排列。要求对所有 $ (x,y) $ 求从 $ (1,1) $ 到 $ (x,y) $ 所围矩形内的最大权值和。通过 CDQ 分治优化,交替沿行/列方向分割网格:分割后维护状态 $ g_{l,r} $ 表示矩形与中轴线相交于第 $ [l,r] $ 列,并借助线段树进行动态维护。行分割时按列扫描,列分割时按行扫描,利用线段树高效处理前缀/后缀修改和全局查询。该算法实现复杂度为 $ O(n^2 \log n) $,但代码实现较为复杂。 阅读全文
posted @ 2025-07-26 16:56 wing_heart 阅读(0) 评论(0) 推荐(0)