上一页 1 2 3 4 5 6 7 8 ··· 19 下一页
摘要: 证明摘自:(我网上唯一看得懂的证明) https://blog.csdn.net/alan_cty/article/details/54318369 结论:(显然递归实现)lucas(n,m)=lucas(n/p,m/p)*C(n%p,m%p) 将n,m很大的数压成求两个小于p的组合数的乘积 数学上 阅读全文
posted @ 2018-07-31 18:20 planche 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 给出一个N次函数,保证在范围[l,r]内存在一点x,使得[l,x]上单调增,[x,r]上单调减。试求出x的值。 (此题其实当然可以取导用二分做,但是如果有些函数求导很麻烦的话那就用三分) 三分:此题根据对称性,在(l,r)中间找两个点l',r',若f(l')<f(r')那就取(l',r)否则取(l, 阅读全文
posted @ 2018-07-31 13:32 planche 阅读(1226) 评论(0) 推荐(0) 编辑
摘要: 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大。你只需要求出这个权值和。允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。 缩点含义:将一个环缩成一个点,然后把原本环上的点与外界相连的边,接到这个点上面换句话讲就是 tarjan求出的所有强连通分 阅读全文
posted @ 2018-07-30 17:04 planche 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 在无向连通图中,如果将其中一个点以及所连的所有边都删掉,图就不再连通的话,那么这个点就叫做割点 首先将所有的点分为:1.环中点 2.不成环的单点割点一般出现的情况是:如果(处在不同环中/一环一单点/均为单点)的两点相连,那么这两点都是割点 与tarjan求强连通分量相同,引入dfn时间戳和lowdf 阅读全文
posted @ 2018-07-30 14:39 planche 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 如果两个点可以互相到达,则称为强连通。如果有向图G每个点都可以互相到达,则称为强连通图。其中G中的极大强连通子图,则称为强连通分量。现求强连通分量是多少,且哪些点属于同一个强连通分量 tarjan由dfs,dfn[i],low[i],stack组成dfs是遍历方式dfn[i]:时间戳(客观上dfs遍 阅读全文
posted @ 2018-07-30 01:02 planche 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 最短路+判负环优点:1.判负环比较稳(相对于spfa+dfs/bfs)2.存图超简单3.Bellman-Ford枚举的是边集{E},不需要考虑不联通的区块;如果写Dijkstra或SPFA,则要考虑这种情况。缺点:专求最短路复杂度大了点O(n*m) 分3个部分:1.做n-1次循环2.每个循环中遍历所 阅读全文
posted @ 2018-07-29 23:31 planche 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 摘自: http://blog.csdn.net/dyx404514/article/details/42061017 先说一个O(n^2)复杂度解法:根据长度奇偶性,找对称轴,奇数长度取节点,偶数取节点空隙,然 阅读全文
posted @ 2018-07-29 22:08 planche 阅读(148) 评论(0) 推荐(0) 编辑
摘要: KMP+Trie树(AC自动机将两者优点结合起来) 三者对比下:KMP:处理1个模式串和1个文本串匹配问题(引入了一个kmp数组)Trie树:查询n个前缀或者单词在一个字典【n个单词所组成的】里的出现问题 (引入一个特别的Trie树)AC自动机:给定n个模式串和1个文本串,查询模式串在文本串里出现问 阅读全文
posted @ 2018-07-29 18:10 planche 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 查询在一个很长n的“文本串”中,给定的很短m的“模式串”的出现有无,次数,位置 复杂度O(n+m) 而不是暴力的O(n*m)这里对模式串做了一个神奇的移位法则,注意KMP是只针对模式串的操作,不是文本串我喜欢把kmp叫做“对应的前一项前缀位置”例如:KMP记录的是怎么一回事,看图看数据马上就明白了1 阅读全文
posted @ 2018-07-29 00:29 planche 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 摘自大佬博客 https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html 给出n个单词和m个询问1.查询某个前缀是否出现过2.查询某个单词是否出现过3.查询前缀出现的次数 例如:cat,cash,app,apple,aply,ok 建一颗字典树 这 阅读全文
posted @ 2018-07-28 18:27 planche 阅读(151) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 19 下一页