摘要: 前言 本来想要只讲CDQ分治的,但由于整体二分和CDQ分治有一些相似之处,便顺藤摸瓜一起讲了 在讲解之前,先普及一下在线算法和离线算法的定义 在线算法: 可以以序列化的方式一个一个的处理输入,不必事先知道所有输入数据 离线算法: 必须事先知道所有的输入数据 (例如选择排序就是一个离线算法,而插入排序 阅读全文
posted @ 2017-11-26 18:01 yodel 阅读(563) 评论(1) 推荐(1) 编辑
摘要: 题目 维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=160000,询问数Q<=10000,W<=2000000. 题目 维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=160000, 阅读全文
posted @ 2017-11-26 15:34 yodel 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 目录 1.最小生成树 2.并查集 3.最大流 4.费用流 5.树链剖分 6.左偏树 7.矩阵加速 8.树状数组1(单点加法,区间和) 9.FFT a*b 10.单源最短路径 11.三分法 12.VEB树 13.线段树(区间乘法,区间加法,区间和) 14.KMP 15.线性筛素数 16.负环 17.S 阅读全文
posted @ 2017-11-26 12:07 yodel 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作: 查询k在区间内的排名 查询区间内排名为k的值 修改某一位值上的数值 查询k在区间内的前驱(前驱定义为严格小于x,且最大的数,若不存在输出-2147483647) 注意上面两条要求和tyvj或者bzoj不一样 阅读全文
posted @ 2017-11-26 11:50 yodel 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 题目背景 UPDATE : 最后一个点时间空间已经放大 标题即题意 有了可持久化数组,便可以实现很多衍生的可持久化功能(例如:可持久化并查集) 题目描述 如题,你需要维护这样的一个长度为 NN 的数组,支持如下几种操作 在某个历史版本上修改某一个位置上的值 此外,每进行一次操作(对于操作2,即为生成 阅读全文
posted @ 2017-11-26 11:09 yodel 阅读(943) 评论(0) 推荐(0) 编辑
摘要: 4028: [HEOI2015]公约数数列 Description 设计一个数据结构. 给定一个正整数数列 a_0, a_1, ..., a_{n - 1},你需要支持以下两种操作: 1. MODIFY id x: 将 a_{id} 修改为 x. 2. QUERY x: 求最小的整数 p (0 <= 阅读全文
posted @ 2017-11-26 10:25 yodel 阅读(274) 评论(0) 推荐(0) 编辑