Processing math: 0%

随笔分类 -  分块

摘要:传送门 分块 对每个块维护一个 adddel 标记,对于块 o 内某个位置 i,它真实的修改量为 a[i]+add[o]*i-del[o] 这样就可以维护一个区间加一个等差数列的操作了 对于操作 2,交换两个位置,直接把两个位置的块标记下传,然后直接交换 对于操作 $1 阅读全文
posted @ 2019-09-09 08:03 LLTYYC 阅读(194) 评论(0) 推荐(0) 编辑
摘要:传送门 子任务 4 告诉我们可以离线搞带权并查集 从大到小枚举询问,从大到小连边 如果没有修改操作就可以过了 但是有修改,考虑最暴力的暴力,搞可撤销并查集 同样先离线,从大到小处理询问时,按原边权从大到小枚举到一条边时,如果他一直都没有修改,那么直接加入并查集 如果有修改那先不要加,枚举所有修改 阅读全文
posted @ 2019-08-16 07:56 LLTYYC 阅读(197) 评论(0) 推荐(0) 编辑
摘要:传送门 变一下题目的式子,变成 A[i]+A[k]=2A[j],i<j,k>j 发现 A[i] 的值域不大,考虑移动指针 pos 并维护 cntl[],cntr[] 分别表示 pos 左右两边各种值的数的数量 设 ans[i] 表示当前 pos 左右两边各取一个数,相加为 阅读全文
posted @ 2019-07-27 14:10 LLTYYC 阅读(228) 评论(0) 推荐(0) 编辑
摘要:传送门 N 太大了主席树过不了 考虑分块 对每个块内的元素排序,询问就对大块二分查找,对两边小的部分暴力枚举 修改时维护 add[i] 标记,维护当前块内整块已经加的数 那么整块的就直接修改 add ,两边小的部分就把那两个的块暴力修改然后重新排序 然后注意一下边界就完了 阅读全文
posted @ 2019-03-24 11:34 LLTYYC 阅读(264) 评论(0) 推荐(0) 编辑
摘要:传送门 A的第一道黑题... 然而感觉跟 作诗 没什么差别... 分块 记录 sum[ i ] [ j ] 表示从左端点到第 i 块时,数字 j 的出现次数 f [ i ] [ j ] 表示第 i 块到第 j 块的区间里的众数 对两边小段的每个数都计算贡献 设 cnt [ j ] 表示 j 在两边小 阅读全文
posted @ 2018-10-15 10:33 LLTYYC 阅读(192) 评论(0) 推荐(0) 编辑
摘要:传送门 分块 设sum[ i ] [ j ] 存从左边到第 i 块时,数字 j 的出现次数 f [ i ] [ j ] 存从第 i 块,到第 j 块的一整段的答案 那么最后答案就是一段区间中几块整段的答案加上两边小段的贡献 考虑两边小段的影响,对于每一个出现的数 它可能会使答案增加(使原本大区间中出 阅读全文
posted @ 2018-10-14 10:32 LLTYYC 阅读(160) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示