上一页 1 ··· 11 12 13 14 15
摘要: 矩阵乘法是一种矩阵运算,满足交换律,可以写成幂的形式,所以我们可以使用矩阵快速幂来解决一些问题 先来看普通的快速幂: 快速幂 把幂拆成 n 2 或者n 2 + 1的形式,避免重复运算,提高效率。因为结果通常很大,记得不要弄错MOD 矩阵乘法 设A为 的矩阵,B为 的矩阵,那么称 的矩阵C为矩阵A与B 阅读全文
posted @ 2018-07-09 12:33 Tony_Double_Sky 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 字典树是一种有关字符串的数据结构:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较 首先我用的是字典树的数组写法(还有指针写法直观不过容错率高):trie[maxn][26] 前面的maxn表示最大节点数26是含有字母的写法,这个数是可以随题意改变的,二进制就是2。trie[i][ 阅读全文
posted @ 2018-07-09 12:32 Tony_Double_Sky 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 最近请教了一下大佬怎么求序列内第k大查询,自己又捣鼓了一下,虽然还没有懂得 区间 第k大查询,不过姑且做一个记录先吧 因为每个元素大小可能很大而元素之间不连续,所以我们先 离散化处理 一下,程序中的ori[ ]代表原序列,离散化后每个key对应一个值,mem[ ]存的是key对应的值:mem[i]代 阅读全文
posted @ 2018-07-09 12:31 Tony_Double_Sky 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 单调栈和单调队列的关系 单调栈和单调队列的本质,顾名思义,就是 单调 :利用单调性来解决一些问题。 由于所有元素只会入栈/队1次,所以其复杂度为O(n) 单调队列是单调栈的升级版 单调栈 单调栈就是一个栈,栈中元素有单调的特性。我们向栈中加入元素时,依照单调性,弹出加入新元素后不符合单调性的元素,从 阅读全文
posted @ 2018-07-09 12:30 Tony_Double_Sky 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 线段树板子 线段树最原始的功能是区间求和 因为是树状结构,使得查询和修改的复杂度都为O(log n)级别 又因为有懒标记的存在,大大降低了复杂度 所以我觉得,树状结构式线段树的基本 懒标记是线段树的灵魂 cpp include using namespace std; define ll long 阅读全文
posted @ 2018-07-09 12:28 Tony_Double_Sky 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 对于二分图匹配的理解 我用的是匈牙利算法 ~~网络流什么的太变态了好吗~~ 想学习网络流的去这个博客 "我的人生导师的博客" 首先匹配就是找对象(你要牵线) 二分图一般是找最大匹配(牵最多的红线) 因为有增广路的性质我们可以知道:反选一条增广路可以多一个匹配(就是优先给新人牵线不惜打散旧情侣,可以保 阅读全文
posted @ 2018-07-09 12:28 Tony_Double_Sky 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 并查集 顾名思义,并查集有三个用处 并,即合并两个集合 查,查询该元素所在的集合 集,就指集合 现在来说一说并查集的基本操作: 初始化 首先,最开始的时候,我们假设所有的集合都只有一个元素,即只有自己(自己是自己的爸爸。。。)。所以简单初始化: for(int i=1;i 阅读全文
posted @ 2018-07-09 12:27 Tony_Double_Sky 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 并查集的进阶用法 " 并查集基础算法 " 关于压缩路径的距离问题 在并查集基础篇里说过,路径压缩后,你就无法知道你离另一个(同一个集中的)点的距离:你只知道你的祖宗是谁,其他的就不知道了 解决这个问题:我们需要用一个dis[]数组维护 先看一题 P1196 [NOI2002]银河英雄传说 题目描述 阅读全文
posted @ 2018-07-09 12:27 Tony_Double_Sky 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 以下为摘要 区间dp能解决的问题就是通过小区间更新大区间,最后得出指定区间的最优解 个人认为,想要用区间dp解决问题,首先要确定一个大问题能够剖分成几个相同较小问题,且小问题很容易组合成大问题,从而从解决小问题逐渐解决大问题,体现的其实是分治的思想,只不过是通过dp用递推的方式解决了。比如floyd 阅读全文
posted @ 2018-07-09 12:26 Tony_Double_Sky 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 并查集 + 二分 我是 并查集 + 二分 做的QVQ 思路:两两枚举点之间的距离,sort排序,使距离有序。二分答案,每次判断是否符合条件,然后缩小查询范围,直到满足题目要求(保留2位小数精度就为 0.001就好了)最后保留两位小数输出 核心 判断是否符合条件: 对于每次判断,首先应初始化并查集。因 阅读全文
posted @ 2018-07-08 22:31 Tony_Double_Sky 阅读(175) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15