博客园 - 侠岚sgy
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=130423
2018-03-19T11:24:16Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
feed.cnblogs.com
https://www.cnblogs.com/let-dream-fly/p/8604181.html
bzoj1026 windy数(数位DP) - 侠岚sgy
1026: [SCOI2009]windy数 Description windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数? windy定义了一种windy数。不含前导零且相邻两个数字
2018-03-19T11:24:00Z
2018-03-19T11:24:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】1026: [SCOI2009]windy数 Description windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数? windy定义了一种windy数。不含前导零且相邻两个数字 <a href="https://www.cnblogs.com/let-dream-fly/p/8604181.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/8528644.html
小Z的袜子——莫队模板 - 侠岚sgy
一种超级暴力的离线算法。。 对于只有区间询问,并且ans[l,r]→ans[l,r+1],ans[l+1,r]都可以O(1)转移的题目,可以把所有询问分块排序,复杂度O(n√n) 排序也有技巧。 首先按照l所在块排序,如果l在同一块,则: ①若l在奇数块,按照r升序排序 ②若l在偶数块,按照r降序排
2018-03-08T07:17:00Z
2018-03-08T07:17:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】一种超级暴力的离线算法。。 对于只有区间询问,并且ans[l,r]→ans[l,r+1],ans[l+1,r]都可以O(1)转移的题目,可以把所有询问分块排序,复杂度O(n√n) 排序也有技巧。 首先按照l所在块排序,如果l在同一块,则: ①若l在奇数块,按照r升序排序 ②若l在偶数块,按照r降序排 <a href="https://www.cnblogs.com/let-dream-fly/p/8528644.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/8514967.html
splay - 侠岚sgy
splay完整模板: 平衡树的应用——区间翻转:
2018-03-06T08:14:00Z
2018-03-06T08:14:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】splay完整模板: 平衡树的应用——区间翻转: <a href="https://www.cnblogs.com/let-dream-fly/p/8514967.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/8491027.html
fft - 侠岚sgy
花了N久时间,终于把这个难啃的骨头啃下来了。 建议大家学习fft时,千万不要到网上找各种快速傅里叶变换的解释,那实在是令人难以理解。 可以查阅《算法导论》并结合洛谷模板里的题解,可以深入理解多项式乘法的算法。 这里是一个可以用的板子。
2018-03-01T15:12:00Z
2018-03-01T15:12:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】花了N久时间,终于把这个难啃的骨头啃下来了。 建议大家学习fft时,千万不要到网上找各种快速傅里叶变换的解释,那实在是令人难以理解。 可以查阅《算法导论》并结合洛谷模板里的题解,可以深入理解多项式乘法的算法。 这里是一个可以用的板子。 <a href="https://www.cnblogs.com/let-dream-fly/p/8491027.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/8185735.html
左偏树(可并堆) - 侠岚sgy
堆是一种很常见的数据结构,普通的堆又称优先队列,用c++的priority_queue可实现。 堆是一棵二叉树。它满足: 性质①:从上到下是单调不增或单调不减的。如果是小根堆,则每个节点的key均不大于它的左右儿子(如果存在的话)的key;大根堆则反之。 普通的堆支持查询堆顶元素[O(1)],删除堆
2018-01-03T13:16:00Z
2018-01-03T13:16:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】堆是一种很常见的数据结构,普通的堆又称优先队列,用c++的priority_queue可实现。 堆是一棵二叉树。它满足: 性质①:从上到下是单调不增或单调不减的。如果是小根堆,则每个节点的key均不大于它的左右儿子(如果存在的话)的key;大根堆则反之。 普通的堆支持查询堆顶元素[O(1)],删除堆 <a href="https://www.cnblogs.com/let-dream-fly/p/8185735.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/8178651.html
高斯消元 - 侠岚sgy
在线性代数中学习了矩阵之后,高斯消元的思路就非常清晰了。 其实就是小学学习的多元方程的加减消元法。 当未知数的个数很大时,把系数提取出来写成矩阵的形式非常直观。 具体地,依次利用加减消元消去方程的每一项。每次选取当前项不为0的一项,然后把其他的方程通过加减消元消去这一项。如果发现未处理的所有方程中当
2018-01-02T11:05:00Z
2018-01-02T11:05:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】在线性代数中学习了矩阵之后,高斯消元的思路就非常清晰了。 其实就是小学学习的多元方程的加减消元法。 当未知数的个数很大时,把系数提取出来写成矩阵的形式非常直观。 具体地,依次利用加减消元消去方程的每一项。每次选取当前项不为0的一项,然后把其他的方程通过加减消元消去这一项。如果发现未处理的所有方程中当 <a href="https://www.cnblogs.com/let-dream-fly/p/8178651.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/8120551.html
AC自动机 - 侠岚sgy
本章知识摘自:http://blog.csdn.net/creatorx/article/details/71100840 主要是在trie树的基础上,添加fail指针。 实际上,在AC自动机中的trie树中的每个节点,维护的是一个后缀树,而对于一个节点i的fail指针所指向的节点j需满足:j为i的
2017-12-26T15:22:00Z
2017-12-26T15:22:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】本章知识摘自:http://blog.csdn.net/creatorx/article/details/71100840 主要是在trie树的基础上,添加fail指针。 实际上,在AC自动机中的trie树中的每个节点,维护的是一个后缀树,而对于一个节点i的fail指针所指向的节点j需满足:j为i的 <a href="https://www.cnblogs.com/let-dream-fly/p/8120551.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/8120545.html
点分治 - 侠岚sgy
点分治算法是和树链剖分同样重要的图论算法。洛谷上有两道模板题,这里均提供代码和详细解释。 所谓点分治,就是对与一棵树,求满足条件的点对有多少对(维护的信息为点对间的最短路径上的信息)。 如何分治呢? 首先,我们将一棵无根树变成有根数,当然每次分治时要选择树的重心以达到效率最高。 树的重心:最小化所选
2017-12-26T15:20:00Z
2017-12-26T15:20:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】点分治算法是和树链剖分同样重要的图论算法。洛谷上有两道模板题,这里均提供代码和详细解释。 所谓点分治,就是对与一棵树,求满足条件的点对有多少对(维护的信息为点对间的最短路径上的信息)。 如何分治呢? 首先,我们将一棵无根树变成有根数,当然每次分治时要选择树的重心以达到效率最高。 树的重心:最小化所选 <a href="https://www.cnblogs.com/let-dream-fly/p/8120545.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/8074658.html
bzoj1007水平可见直线 - 侠岚sgy
1007: [HNOI2008]水平可见直线 Description 在xoy直角坐标平面上有n条直线L1,L2,...Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则Li为被覆盖的.例如,对于直线:L1:y=x; L2:y=-x; L3:y=0则L1和L2是可见的,
2017-12-20T08:51:00Z
2017-12-20T08:51:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】1007: [HNOI2008]水平可见直线 Description 在xoy直角坐标平面上有n条直线L1,L2,...Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则Li为被覆盖的.例如,对于直线:L1:y=x; L2:y=-x; L3:y=0则L1和L2是可见的, <a href="https://www.cnblogs.com/let-dream-fly/p/8074658.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/7928950.html
bzoj1008越狱 - 侠岚sgy
1008: [HNOI2008]越狱 Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种
2017-11-30T08:25:00Z
2017-11-30T08:25:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】1008: [HNOI2008]越狱 Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种 <a href="https://www.cnblogs.com/let-dream-fly/p/7928950.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/7921849.html
bzoj1024生日快乐 - 侠岚sgy
1024: [SCOI2009]生日快乐 Description windy的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕。现在包括windy,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的蛋糕。windy主刀,每一切只能平行于一块蛋糕的一边(任意一
2017-11-29T09:51:00Z
2017-11-29T09:51:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】1024: [SCOI2009]生日快乐 Description windy的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕。现在包括windy,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的蛋糕。windy主刀,每一切只能平行于一块蛋糕的一边(任意一 <a href="https://www.cnblogs.com/let-dream-fly/p/7921849.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/7893063.html
bzoj1016最小生成树计数 - 侠岚sgy
1016: [JSOI2008]最小生成树计数 Description 现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树。(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的)。由于不同的最小生成树可能很多,所以你只需要输出方
2017-11-24T16:55:00Z
2017-11-24T16:55:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】1016: [JSOI2008]最小生成树计数 Description 现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树。(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的)。由于不同的最小生成树可能很多,所以你只需要输出方 <a href="https://www.cnblogs.com/let-dream-fly/p/7893063.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/7881275.html
bzoj1015星球大战 - 侠岚sgy
1015: [JSOI2008]星球大战starwar Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。 但好景
2017-11-22T13:04:00Z
2017-11-22T13:04:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】1015: [JSOI2008]星球大战starwar Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。 但好景 <a href="https://www.cnblogs.com/let-dream-fly/p/7881275.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/7880802.html
bzoj1012 - 侠岚sgy
1012: [JSOI2008]最大数maxnumber Description 现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其
2017-11-22T11:11:00Z
2017-11-22T11:11:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】1012: [JSOI2008]最大数maxnumber Description 现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其 <a href="https://www.cnblogs.com/let-dream-fly/p/7880802.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/7856099.html
bzoj1003 - 侠岚sgy
1003: [ZJOI2006]物流运输 Description 物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种因素的存在,有的时候某个码头会无法装
2017-11-18T02:41:00Z
2017-11-18T02:41:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】1003: [ZJOI2006]物流运输 Description 物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种因素的存在,有的时候某个码头会无法装 <a href="https://www.cnblogs.com/let-dream-fly/p/7856099.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/7839399.html
bzoj1001(对偶图最短路) - 侠岚sgy
1001: [BeiJing2006]狼抓兔子 Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: 左上角点为(1,1),右下角点为(N,M)(上图中N=4
2017-11-15T07:57:00Z
2017-11-15T07:57:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】1001: [BeiJing2006]狼抓兔子 Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: 左上角点为(1,1),右下角点为(N,M)(上图中N=4 <a href="https://www.cnblogs.com/let-dream-fly/p/7839399.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/7501323.html
LCA(最近公共祖先) - 侠岚sgy
三种方法: 1.树链剖分(在上一篇代码中已经讲解得很详细,不再一一赘述) 2.Tarjan(慎用!如果题目是按照树剖卡常数的话,则此算法会MLE(空间大小为树剖的两倍)) 有个特别形象的讲解在这里:http://www.cnblogs.com/JVxie/p/4854719.html 3.倍增 这个
2017-09-10T08:12:00Z
2017-09-10T08:12:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】三种方法: 1.树链剖分(在上一篇代码中已经讲解得很详细,不再一一赘述) 2.Tarjan(慎用!如果题目是按照树剖卡常数的话,则此算法会MLE(空间大小为树剖的两倍)) 有个特别形象的讲解在这里:http://www.cnblogs.com/JVxie/p/4854719.html 3.倍增 这个 <a href="https://www.cnblogs.com/let-dream-fly/p/7501323.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/7499200.html
树链剖分(以维护线段树为例) - 侠岚sgy
关于树链剖分的有关知识:http://www.cnblogs.com/sagitta/p/5660749.html 以下是洛谷p3384经过无数次WA和RE(最后发现只是有一个函数的调用写反了qwq)终于AC的代码:
2017-09-09T12:16:00Z
2017-09-09T12:16:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】关于树链剖分的有关知识:http://www.cnblogs.com/sagitta/p/5660749.html 以下是洛谷p3384经过无数次WA和RE(最后发现只是有一个函数的调用写反了qwq)终于AC的代码: <a href="https://www.cnblogs.com/let-dream-fly/p/7499200.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/7383000.html
树状数组 - 侠岚sgy
有一个神奇的东西叫lowbit 修改时是每次+lowbit(i),查询(前缀和)时是每次-lowbit(i)
2017-08-17T09:28:00Z
2017-08-17T09:28:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】有一个神奇的东西叫lowbit 修改时是每次+lowbit(i),查询(前缀和)时是每次-lowbit(i) <a href="https://www.cnblogs.com/let-dream-fly/p/7383000.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/let-dream-fly/p/7382935.html
最小费用流 - 侠岚sgy
即一个带边权的网络流,给定一个流图以及每条边单位流的费用,求最大流情况下的最小费用。 这里因为带边权,所以之前的贴标签、分层算法均失去作用,只能用最普通的EK算法,即不断BFS找增广路,在此过程中,把费用看作边的长度(反向边为其相反数,保证增广过程可逆),一边找增广路,一边做spfa(带负权边只能用
2017-08-17T09:20:00Z
2017-08-17T09:20:00Z
侠岚sgy
https://www.cnblogs.com/let-dream-fly/
【摘要】即一个带边权的网络流,给定一个流图以及每条边单位流的费用,求最大流情况下的最小费用。 这里因为带边权,所以之前的贴标签、分层算法均失去作用,只能用最普通的EK算法,即不断BFS找增广路,在此过程中,把费用看作边的长度(反向边为其相反数,保证增广过程可逆),一边找增广路,一边做spfa(带负权边只能用 <a href="https://www.cnblogs.com/let-dream-fly/p/7382935.html" target="_blank">阅读全文</a>