上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 17 下一页
摘要: 假如我们需要在一段很长的文本中查找一个单词出现的位置,你会怎么做?朴素的做法是从文本的字母开始,向后和这个单词中的字母一一匹配,若完全匹配则说明找到了一个单词,若有一个字母匹配失败,就紧接着换文本的下一个字母重新匹配,即使成功匹配到一个单词,也要紧接着从下一个字母开始匹配。显然,最坏情况复杂度可以达 阅读全文
posted @ 2018-09-16 14:20 Mr^Kevin 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 本题在洛谷上的链接:https://www.luogu.org/problemnew/show/P4503 就我现在的水平而言,看起来真不简单。谁知道他近乎裸题。 本题关键在于判断两个字符串是否只有一个字符不同,最朴素的做法是,枚举每对字符串,再枚举他们的每一位,复杂度是O(n^2*l)的,显然无法 阅读全文
posted @ 2018-09-16 08:46 Mr^Kevin 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 字符串哈希主要用于判断两个字符串是否相等,可以做到O(n)预处理,O(1)查询。 其实就是把字符串看成一个数字,其进制为base(应大于字符种类),另外还要对某个数取模,可以自己选择一个大质数,也可以让其对unsigned int或unsigned long long自然溢出。 因为是取过模,所以可 阅读全文
posted @ 2018-09-16 08:23 Mr^Kevin 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 首先我们需要知道强连通分量,因为Tarjan就是用来求这个的。连通的意思是对于<u,v>,存在路径可以从其中一个达到另一个;强连通是指即存在从u到v的路径,又存在从v到u的路径。强连通是针对于有向图来说的,因为无向图只要做到了连通就做到了强连通。强连通分量就是指有向图的极大强连通子图,多一个点少一个 阅读全文
posted @ 2018-09-15 19:51 Mr^Kevin 阅读(614) 评论(0) 推荐(0) 编辑
摘要: !!!原来LCA的题可以出的这么难,完了这还属于水题?! 先来解释一下题意,有N个城市,在这N城市之间有M条边(不一定每个城市都有边)。我们的任务是找出给定两个点之间路径上的最小边权,使得这个最小边权尽量大。一开始我很纳闷,这和LCA有什么关系呢,怎么和最大流有点像。冥思苦想(看了别人的想法)之后, 阅读全文
posted @ 2018-09-15 11:55 Mr^Kevin 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 对于一棵树来说,树上两个结点有LCA。LCA是指两个结点所有公共祖先中,深度最大的。LCA有很多性质,比如树上两点间最短路径会经过LCA(无负边权),树的DFS序中LCA是两点间深度最小的等等。 LCA据说是NOIP几乎每年必考内容,如何高效率地求LCA很关键。不难想到一种暴力做法,从两个点开始往上 阅读全文
posted @ 2018-09-15 08:54 Mr^Kevin 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 说是树状DP的入门水题,然而甚至感觉不到DP的存在。。。 好吧,理论上这个确实是DP,由之前阶段推出当前阶段,以子结点为根的子树结点个数可以推出以父结点为根的子树结点个数。 然后针对每条边,根据题目要求的那样统计答案即可。不过我们统计时利用的应该是子结点的信息,怎么找到子结点?因为父结点的信息是由子 阅读全文
posted @ 2018-09-14 11:44 Mr^Kevin 阅读(428) 评论(0) 推荐(1) 编辑
摘要: 懒得打字,直接截图了QwQ。。。 呃呃,状压DP和图论结合以后,思维难度确实上升了,但本质却没有发生改变。 我们可以定义dp[i]表示i这种状态最小需要的颜色数,那么我们可以预处理出只需一种颜色就可以染完的状态,然后枚举i的子集j,有dp[i]=min{dp[j]+dp[i-j]}。一种颜色就能染完 阅读全文
posted @ 2018-09-13 19:43 Mr^Kevin 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 欧拉筛又称线性筛,可以在线性的时间内筛出素数,因此在时间上要优于埃拉托斯特尼筛法。 欧拉筛是怎么做到在线性的时间内筛素数呢?先看代码。 不难看出,欧拉筛记录了已筛出的素数,并用他们的整数倍找合数。而if(i%prime[j]==0) break;就是欧拉筛做到线性时间内筛素数的关键。我们假设当i%p 阅读全文
posted @ 2018-09-12 22:44 Mr^Kevin 阅读(621) 评论(0) 推荐(1) 编辑
摘要: 问题描述 蒜头君喜欢中心对称的字符串,即回文字符串。现在蒜头君手里有一个字符串 SS,蒜头君每次都会进行这样的操作:从 SS 中挑选一个回文的子序列,将其从字符串 SS 中去除,剩下的字符重组成新的字符串 SS。 蒜头君想知道,最少可以进行多少次操作,可以消除整个字符串。 输入格式 输入一行。输入一 阅读全文
posted @ 2018-09-12 20:02 Mr^Kevin 阅读(481) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 17 下一页