08 2019 档案

最长回文子串
摘要: 阅读全文

posted @ 2019-08-20 10:14 By_布衣

dp--最长上升子序列LIS
摘要:模板 dp[len]代表长度为len时,a[i]的值 可以使用二分查找优化 阅读全文

posted @ 2019-08-18 09:21 By_布衣

dp--最长公共子序列LCS
摘要:给定两个字符串,求解这两个字符串的最长公共子序列(Longest Common Sequence)。比如字符串1:BDCABA;字符串2:ABCBDAB 则这两个字符串的最长公共子序列长度为4,最长公共子序列是:BCBA 核心思想 这张图片可以很好的理解lcs 例题 hdu1423 1 #inclu 阅读全文

posted @ 2019-08-17 16:37 By_布衣

Floyd-任意两点间最短路
摘要:复杂度: O(v^3) 思想: DP 通过枚举中间点来优化它的时间复杂度 d[i][j][k]表示从i到j在节点只允许经过[0,k]时的最短距离 a. 如果最短路经过k点,则d[i][j][ k ] = d[i][k][k-1] + d[k][j][k-1] b. 如果最短路不经过k点,则d[i][ 阅读全文

posted @ 2019-08-17 09:41 By_布衣

Dijkstra-单源最短路
摘要:Dijkstra的介绍我就免了,相信点进来的都知道 Dijkstra算法和prim算法(求最小生成树)有许多相似之处,区别就是dis数组代表的含义不一样 初步学一个算法的时候推荐找一个最基本的题目,别敲别学,不然没什么效果 例题 hdu1874畅通工程续 不过这题有点坑:1.重边的处理2.起点与终点 阅读全文

posted @ 2019-08-16 15:37 By_布衣

树状数组
摘要:1312 阅读全文

posted @ 2019-08-16 15:35 By_布衣

次小生成树
摘要:就是求第二小的生成树 转最小生成树MST 方法类似,核心思想 次小生成树求最小生成树时,用数组 Max[i][j] 来表示 MST 中 i 到 j 最大边权求完后,直接枚举所有不在 MST 中的边,替换掉最大边权的边,更新答案 阅读全文

posted @ 2019-08-15 13:03 By_布衣

最小生成树MST
摘要:不懂什么是最小生成树的可以看-->这个博客 Prim 适合点少 此算法可以称为”加点法“,每次迭代选择代价最小的边对应的点,加入到最小生成树中。 Kruskal 适合边少 此算法可以称为“加边法”,初始最小生成树边数为0,每迭代一次就选择一条满足条件的最小代价边,加入到最小生成树的边集合里。 (感觉 阅读全文

posted @ 2019-08-13 15:05 By_布衣

矩阵快速幂
摘要:一、快速幂 快速幂是一种用于快速计算出(因为太大,通常需要对一个数取模)的算法。因为较为基础,在此不多做讲解。主要原理:,,。因为指数在每次运算中都会缩小一半,时间复杂度为。代码如下。 ll ksm(ll a, ll k){ ll res = 1; while(k) { if(k%2) res=re 阅读全文

posted @ 2019-08-12 14:25 By_布衣

单调栈
摘要:附大佬博客: https://www.jianshu.com/p/882291e56f12 例题1: hdu1506 A histogram is a polygon composed of a sequence of rectangles aligned at a common base line 阅读全文

posted @ 2019-08-11 16:34 By_布衣

字典树
摘要: 阅读全文

posted @ 2019-08-09 22:38 By_布衣

线段树
摘要: 阅读全文

posted @ 2019-08-09 22:37 By_布衣

树状数组
摘要:参考 模板 区间更新(建差分树) 例如对于下面这个数组 A[] = 1 2 3 5 6 9 D[] = 1 1 1 2 1 3 如果我们把[2,5]区间内值加上2,则变成了 A[] = 1 4 5 7 8 9 D[] = 1 3 1 2 1 1 a[n] = c[n];(单点查询) 阅读全文

posted @ 2019-08-09 22:37 By_布衣

priority_queue优先队列
摘要:优先队列 priority_queue 详解 priority_queue <int> que;//默认从大到小 priority_queue < int,vector<int>,greater<int> > que;//从小到大 结构体 在优先队列中使用结构体的若干小结 阅读全文

posted @ 2019-08-09 22:05 By_布衣

1433223
摘要:海岛Blog 挑战ACM编程是自由参与组。提供挑战题、水题、白书、紫书和蓝书等等…… kuangbin专题 专题一 简单搜索 专题二 搜索进阶 专题三 Dancing Links 专题四 最短路练习 专题五 并查集 专题六 最小生成树 专题七 线段树 专题八 生成树 专题九 连通图 专题十 匹配问题 阅读全文

posted @ 2019-08-09 10:30 By_布衣

set集合
摘要:set集合是c++ stl库中自带的一个容器,set具有以下两个特点: 1、set中的元素都是排好序的 2、set集合中没有重复的元素 常用操作: begin() 返回set容器的第一个元素的地址 end() 返回set容器的最后一个元素地址 clear() 删除set容器中的所有的元素 empty 阅读全文

posted @ 2019-08-08 17:29 By_布衣

并查集
摘要:并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中,其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在 阅读全文

posted @ 2019-08-08 15:54 By_布衣

LCA--最近公共祖先
摘要:在线:处理 问一下 回答一下 离线:全部问完 处理 再全部回答 阅读全文

posted @ 2019-08-08 11:56 By_布衣

RMQ区间最值问题--ST表,线段树,树状数组
摘要:ST表 附一个大佬的博文: https://www.cnblogs.com/qq965921539/p/9608980.html 浅显易懂 例题 hihoCoder 1068 https://hihocoder.com/problemset/problem/1068 参考代码 1 #include 阅读全文

posted @ 2019-08-08 10:19 By_布衣

SG函数
摘要:原文链接: (组合游戏)SG函数与SG定理详解 取石子问题 有1堆n个的石子,每次只能取{ 1, 3, 4 }个石子,先取完石子者胜利,那么各个数的SG值为多少? SG[0]=0,f[]={1,3,4}, x=1 时,可以取走1 - f{1}个石子,剩余{0}个,所以 SG[1] = mex{ SG 阅读全文

posted @ 2019-08-07 09:51 By_布衣

wythoff博弈
摘要:威佐夫博弈(Wythoff's game):有两堆各若干个物品,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品, 规定每次至少取一个,多者不限,最后取光者得胜。 阅读全文

posted @ 2019-08-06 11:24 By_布衣

bash博弈
摘要:巴什博弈:只有一堆n个物品,两个人轮流从这堆物品中取物, 规定每次至少取一个,最多取m个。最后取光者得胜。 中文名巴什博弈外文名Bash Game 巴什博弈:只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个, 最多取m个。最后取光者得胜。显然,如果n=m+1,那么由于一次最多只能取m 阅读全文

posted @ 2019-08-06 11:22 By_布衣

NIM博弈
摘要:通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动)。 阅读全文

posted @ 2019-08-06 11:21 By_布衣

map映射
摘要:C++ STL中的map是以key排序的。 map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实现自建一颗红黑树,这颗树具有对数据自动排序的功能。在map内部所有的数据都是有序的,后边我们会见识到 阅读全文

posted @ 2019-08-02 18:24 By_布衣

导航