
算法
aianswer3
这个作者很懒,什么都没留下…
展开
-
C - Palindromifier CodeForces - 1421C
题目链接:https://codeforces.com/problemset/problem/1421/C 观察题目要求,经过最多30次变换构造回文串。 约束:构造的回文串长度不超过,源字符串长度最长。 直接构造不就行了.将源串1到n-1的字符,复制放到队尾,也不会超出长度限制。 对于源字符串是回文串的直接输出0,非回文串的进行构造。 由于题目中给出的构造方法比较特殊。 如果,使用第一种方法,将2到n-1倒序放到队首,如abcde变为dcbabcde。此时无法用题目中的两种方法将最后一个字.原创 2021-04-06 21:36:59 · 151 阅读 · 0 评论 -
从头到尾彻底理解KMP
从头到尾彻底理解KMP 出处:http://blog.youkuaiyun.com/v_july_v/article/details/7041827 作者:July 时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个月从早到晚不断改进。 1. 引言 本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写转载 2017-02-04 16:16:49 · 268 阅读 · 0 评论 -
快速排序 快速搞定
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。 总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速排序转载 2017-02-14 11:04:13 · 172 阅读 · 0 评论 -
归并排序的实现
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。 //将有序数组a[]和b[]合并到c[]中 void M转载 2017-02-14 11:16:05 · 160 阅读 · 0 评论 -
深入理解sizeof
摘自:http://www.vckbase.com/index.PHP/wv/789.html 由于最近面试碰到sizeof和strlen,被弄得糊里糊涂的,这里摘录了一下,巩固一下! 一、好首先看看sizeof和strlen在MSDN上的定义: 首先看一MSDN上如何对sizeof进行定义的: sizeof Operator sizeof expression转载 2017-02-04 10:02:22 · 218 阅读 · 0 评论 -
算法——递推算法
递推算法 给定一个数的序列H0,H1,…,Hn,…若存在整数n0,使当n>n0时,可以用等号(或大于号、小于号)将Hn与其前面的某些项Hi(0 递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。 递推算法分为顺推和逆推两种。 相对于递归算法,递推算法免除了数据进出栈的过程,也就是说,不需要函数不断的向边界值靠拢,而直接从边界出发,直到求出函数值.转载 2017-02-04 09:58:58 · 581 阅读 · 0 评论