- 博客(23)
- 收藏
- 关注
原创 【无向图 联通分量】
强连通分量 12无向图 双联通分量 12 例题 关于tarjan算法,一直有一个很大的争议,就是low[u]=min(low[u],dfn[v]); 这句话,如果改成low[u]=min(low[u],low[v])就会wa掉,但是在求强连通分量时却没有问题 根据许多大佬的观点,我想提出自己的一点看法,在求强连通分量时,如果v已经在栈中,那么说明u,...
2018-08-24 18:47:56 518
原创 【最短路】【spfa算法】
bool SPFA(int s){ queue<int> Q; memset(inq, 0, sizeof(inq)); memset(cnt, 0, sizeof(cnt)); memset(d, INF, sizeof(d)); d[s] = 0; inq[s] = true; Q.push(s); while(!...
2018-08-23 21:56:35 257
原创 【单调栈】
单调栈总结摘自单调栈1 摘自单调栈21、定义单调栈是一种特殊的栈,其栈内的元素都保持一个单调性(单调递增或者递减)。 单调递增栈,从栈底到栈顶依次递增(单调非递减栈:允许有相等)单调递减栈,从栈底到栈顶依次递减(单调非递增栈:允许有相等)假设下图是一个栈内元素的排列情况(单调递增的栈): 2、作用利用单调栈,可以找到从左(或者右)遍历第一个比它小(或者大)...
2018-08-22 17:17:40 1291 1
原创 【二分图】
模板1 模板2 讲解判断是否为二分图(染色法)#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>#include <math.h>
2018-08-21 15:53:08 226
原创 【线段树】【模板】讲解 + 例题1 HDU - 1754 I Hate It (点修改分数)+ 例题二 POJ - 3468 A Simple Problem with Integers(区间加值)
【线段树】【模板】讲解 + 例题1 HDU - 1754 I Hate It (点修改分数)+ 例题二 POJ - 3468 A Simple Problem with Integers(区间加值)讲解1、线段树的构成线段树是一种二叉搜索树,它从上至下逐步将一个大区间划分成一些更小的单元区间,每个区间对应线段树中的一个节点树中的每个节点代表着一段区间[L,R],每个节...
2018-08-14 19:47:07 428
原创 【思维】HDU 6376 度度熊剪纸条 【01串,剪k刀,问拼接后最多的前缀1数量是多少】
【思维】HDU 6376 度度熊剪纸条 【01串,剪k刀,问拼接后最多的前缀1数量是多少】Problem Description 度度熊有一张纸条和一把剪刀。纸条上依次写着 N 个数字,数字只可能是 0 或者 1。度度熊想在纸条上剪 K 刀(每一刀只能剪在数字和数字之间),这样就形成了 K+1 段。他再把这 K+1 段按一定的顺序重新拼起来。不同的剪和接的方案,可能会得到不...
2018-08-11 22:24:01 483
转载 【KMP算法】【最小循环节】讲解 + 例题 POJ 1961 Period 【给字符串s,求s的具有循环节的前缀,并输出所有前缀长,循环节个数】
【KMP算法】【最小循环节】讲解 + 例题 POJ 1961 Period 【给字符串s,求s的具有循环节的前缀,并输出所有前缀长,循环节个数】摘自 KMP最小循环节一、定理假设S的长度为len,若S存在最小循环节,循环节的长度c_L = len-next[len],子串为S[0…len-next[len]-1]。 c_l表示cycle_len。(1)如果len %...
2018-08-10 15:52:31 1459
转载 【扩展KMP】【模板】讲解
【扩展KMP】【模板】讲解 摘自 拓展kmp算法总结1、扩展KMP是什么?解决何种问题?与KMP算法的异同?拓展kmp是对KMP算法的扩展,它解决如下问题:定义母串S,和字串T,设S的长度为n,T的长度为m,求T与S的每一个后缀的最长公共前缀,也就是说,设extend数组,extend[i]表示T与S[i,n-1]的最长公共前缀,要求出所有extend[i](0<=...
2018-08-10 10:39:51 2057 1
原创 【字典树】【DP】UVALive - 3942 Remember the Word 【给长字符串str和n个单词,把该字符串分解成若干个单词的方法有几种】
【字典树】【DP】UVALive - 3942 Remember the Word 【给长字符串str和n个单词,把该字符串分解成若干个单词的方法有几种】Neal is very curious about combinatorial problems, and now here comes a problem about words. Knowing that Ray has a pho...
2018-08-09 21:31:31 271
原创 【字符串 Hash】【DP】 HDU - 5763 Another Meaning【串二可用第二种意思替换,问串一这句话可能有几种含义】
【字符串 Hash】【DP】 HDU - 5763 Another Meaning【串s2可用第二种意思替换,问串一这句话可能有几种含义】As is known to all, in many cases, a word has two meanings. Such as “hehe”, which not only means “hehe”, but also means “excuse...
2018-08-09 21:12:28 319
原创 【STL】【bitset 二进制】【总结】使用biset进行二进制操作
【STL】【bitset 二进制】【总结】使用biset进行二进制操作 1、简介bitset是用来进行一些状态储存的操作。类似于一个标记数组,又类似于状压里面的二进制。它与状压的共同点是都可以直接进行一些二进制操作。而且好用的是它类似于动态数组,可以开很多位,方便对每一位进行操作。需要调用bitset库。位数左边是高位,右边是低位。从0开始。可以直接访问为b[0]2、初始...
2018-08-09 18:02:58 955
原创 【01字典树】【贪心】【经典例题1】HDU 4825 Xor Sum 【给一个数的集合,有q次询问,每次给一个数k,求数集合中和k异或值最大的数】+ 例2 CSU - 1216 异或最大值
【01字典树】【贪心】【经典例题】HDU 4825 Xor Sum 【给一个数的集合,有q次询问,每次给一个数k,求数集合中和k异或值最大的数】字典树的实现可以看成是把一个数的二进制字符化后插入到一棵一般的字典树中,该树显然是一个只由0和1构成的二叉树01字典树适用于执行异或运算Problem Description Zeus 和 Prometheus 做了一个游戏,Pr...
2018-08-09 17:43:54 1289
原创 【字符串 hash】【模板】讲解+例一:HDU1711 Number Sequence 【求串b在串a中首次出现的位置】+例二 :POJ1200 Crazy Search【求串a中长度为n的唯一子串】
【字符串 hash】【模板】讲解 + 例题一:HDU1711 Number Sequence 【求串b在串a中首次出现的位置】+ 例题二 :POJ1200 Crazy Search【求串a中长度为n的唯一子串】字符串 hash 讲解1、Hash是什么Hash就是一个像函数一样的东西,你放进去一个值,它给你输出来一个值。输出的值就是Hash值。一般Hash值会比原来的值更好储存...
2018-08-09 15:56:50 676
原创 【Trie 字典树】【模板】 讲解 + 例题 HDU - 1251 - 统计难题 【统计以字符串s为前缀的单词个数】
【Trie 字典树】【模板】 讲解 + 例题 HDU - 1251 - 统计难题 【统计以字符串s为前缀的单词个数】Trie 字典树讲解1、Trie的基本操作插入过程(insert) 对于一个单词,从根开始,沿着单词的各个字母所对应的树中的节点分支向下走,直到单词遍历完,将最后的节点进行标记,表示该单词已插入Trie树。查询过程 (query) 同样...
2018-08-09 15:12:01 796
原创 【贪心】【set】 CodeForces - 999D Equalize the Remainders 【n个数对m取余,使0 - m-1每种情况的个数都为n/m个,求最少需操作次数】
【贪心】【set】 CodeForces - 999D Equalize the Remainders 【n个数对m取余,使0 - m-1每种情况的个数都为n/m个,求最少需操作次数】You are given an array consisting of n integers a1,a2,…,an, and a positive integer m. It is guaranteed ...
2018-08-08 20:59:14 438
原创 【最短路】【Dijkstra算法】【模板】讲解 + 例题1 HDU 2544 最短路 + 例题2 HDU - 1224 Free DIY Tour 【旅游飞行,使有趣值最大(无边权,有点权)】
【最短路】【Dijkstra算法】【模板】讲解 + 例题 HDU 2544 最短路 Dijkstra算法讲解适用情况: 单源多汇最短路(边权为正)复杂度: O(E+ VlogV) 【堆优化后】思想: 贪心D(s, t) = {Vs … Vi … Vj … Vt}表示s到t的最短路,其中i和j是这条路径上的两个中间结点,那么D(i, j)必定是i到j的最短路,这个性质是显...
2018-08-07 17:48:16 625
原创 【最短路】【Floyd算法】【模板】 讲解 + 例题 HDU 1874 畅通工程续 【求两点间最短路】
【最短路】【Floyd算法】【模板】讲解 + 例题 HDU 1874 畅通工程续Floyd算法讲解适用情况:多源多汇最短路(即求任意两点间的最短路)复杂度: O(v^3)思想: DP 通过枚举中间点来优化它的时间复杂度 d[i][j][k]表示从i到j在节点只允许经过[0,k]时的最短距离a. 如果最短路经过k点,则d[i][j][ k ] = d[i][k][k-...
2018-08-07 16:19:34 1939 1
原创 【带删除】【带权】【并查集】【模板】 UVA 11987 Almost Union-Find 【对一些集合进行合并,删除某元素,输出某元素所在集合元素个数和总和】
【带删除】【带权】【并查集】 UVA 11987 Almost Union-Find 【对一些集合进行合并,删除某元素,输出某元素所在集合元素个数和总和】 例题:UVA 11987 Almost Union-Find I hope you know the beautiful Union-Find structure. In this problem, you’r...
2018-08-06 21:44:13 471
原创 【最小生成树】【prim算法(适用于稠密图)】【模板】讲解 + 例题 POJ 2349 Arctic Network【有s个卫星可通信,为使所有城市连通,求最小的最长的边】
算法过程随机选取一个点作为初始集合,并保存所有点到这个集合的最短距离。每次找到离当前集合最近的节点加入这个集合,并更新所有未加入集合的点到这个集合的最短距离。重复操作直到无新节点可加,连通整个图。该算法和求最短路的dijkstra算法非常像//伪代码设起始点为s清除所有点的标记设dis[s] = 0,其他dis[i] = s到i的距离循环n次{ 在所有未标...
2018-08-06 19:53:09 1909
原创 【并查集】【判环】UVALive 3644 X-Plosives 【简单建模 — 判断是否有 n个简单化合物 组成n种炸药 的情况】
【并查集判环】UVALive 3644 X-Plosives 【简单建模 — 判断是否有 n个简单化合物 组成n种炸药 的情况】A secret service developed a new kind of explosive that attain its volatile property only when a specific association of product...
2018-08-06 15:13:23 257
原创 【bfs】【状态压缩】胜利大逃亡(续) HDU - 1429 + Key Task HDU - 1885【有钥匙的迷宫】
【bfs】【状态压缩】胜利大逃亡(续) HDU - 1429 + Key Task HDU - 1885【有钥匙的迷宫】胜利大逃亡(续) HDU - 1429Problem Description Ignatius再次被魔王抓走了(搞不懂他咋这么讨魔王喜欢)……这次魔王汲取了上次的教训,把Ignatius关在一个n*m的地牢里,并在地牢的某些地方安装了带锁的门,...
2018-08-01 21:24:03 265
原创 【双向bfs(一次可也)】【非简单图的最短路】UVa1599 Ideal Path 【紫书6-20经典例题】【无向图求字典序最小的最短路】
【双向bfs(一次也可)】【非简单图的最短路】UVa1599 Ideal Path 【紫书6-20经典例题】【无向图求字典序最小的最短路】New labyrinth attraction is open in New Lostland amusement park. The labyrinth consists of n rooms connected by m passages. Each ...
2018-08-01 20:44:45 788
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人