计算机
爱吃面包的小庞
这个作者很懒,什么都没留下…
展开
-
KMP算法中next数组的理解
next数组理解: 什么是next数组?:当模式匹配串T失配的时候,next数组对应的元素指导应该用T串的哪个元素进行下一轮的匹配。 i代表的是后缀,j代表的是前缀(的最后一个)。 具体操作流程 当T[i]==T[j]的时候,i++后缀指向下一个,j++指向前缀的下一个即循环的开头。 当T[i]!=T[j]的时候,根据next数组的含义,当失配时循环调用next数组即j=next[j],让j回溯...原创 2019-08-07 20:34:40 · 265 阅读 · 0 评论 -
并查集的一些理解
什么是并查集 并查集是一种树型的数据结构。 并查集的作用 处理不相交的集合的合并、查询问题。 检查一个图上面是否有一个环。 简单说就是先把每一个顶点放在一个独立的集合(树)里,如果顶点之间是邻接的那么就把他们合并为一个集合(树)。一个集合(树)里有一个根结点,如果有两个顶点他们的根结点相同说明他们处于同一个集合(树),那这两个结点邻接必定形成一个环(为什么? 因n个顶点和n-1条边形成的连通图如...原创 2019-08-14 19:14:15 · 606 阅读 · 0 评论 -
关键路径算法中的etv和ltv的理解
etv和ltv的定义 etv:事件的最早发生时间 ltv:事件的最晚发生时间 (再晚会耽误工期) 关键路径是源点到汇点权值最大的一条路径,这条路径决定了整个工期。关键路径上的关键活动的最早开始的时间和最晚开始的时间应该是相同的(etv==ltv),否则说明还有其他工程会影响工期,这条路径就不是关键路径了。 ete和lte ete:活动的最早开工时间(相对于边来说的) lte:活动的最晚开...原创 2019-08-17 17:11:06 · 1264 阅读 · 0 评论 -
PAT乙级 害死人不偿命的(3n+1)猜想
1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+...原创 2019-10-02 18:45:26 · 101 阅读 · 0 评论