快速排序和归并排序
最近在补习算法,学一学基础的算法知识 快速排序 快速排序的思路就是从当前的这堆数字里随便挑一个数字x,现在把这个x放在中间,通过某种变化,使得左面<=x,右面>=x能够成立,然后把左右两边也这样排序,递归即可得到最终解。 可以看出算法的步骤如下: 选一个分界数字x(咋选都可以,选第一个数字或者最后一个数字都行,一般选(l+r)/2中值数…
初学KMP
很久之前我一直看不懂KMP算法,看了一个视频里dalao的讲解,我还是没看懂。。。。。。 然后在暑假的某一天,睡觉的时候突然明白了一点点我以前不会的KMP算法,于是赶紧记下来。 如果我希望得知某一个字符串 p 在某一个字符串 s 中是否出现过,或者出现过几次,或者在哪里出现过,那么应该怎么办呢? BF算法 我上来一拍脑门就能想到一种暴力算法,也就是…
UVa202 循环小数
题目 题目 输入多组数据,每组输入整数a和b,(0<=a<=3000, 1<=b<=3000),输出a/b的循环小数表示以及循环字节长度。 样例输入 76 25 5 43 1 397 样例输出 76/25 = 3.04(0) 1 = number of digits in repeating cycle (空行) 5/43 …
其实我家也吃得上饭
一 1月底的时候,我亲爱的高中母校连着两天发了两篇公众号推文,好好吹了一堂特殊的劳动课,原来是学弟学妹们亲自下了厨房,给爸妈做了一桌子丰盛的饭菜。要不是仔细看了文章内容,我还以为是我的母校学弟学妹们炒河蚌整出珍珠来,捐给学校去印卷子,造福了大家伙了。 看罢新闻,我震惊,我顿足,我锤头,我叹气,唉!高中生,怎么能留在厨房里做饭呢,难道不应该是争分夺秒…
2020年感悟总结
不知不觉都过年了,自己从一个高中生变成大学生了。 在新年的开始,写一写自己的感悟吧。 最近的经历 高三毕业了 高中的生活现在回想起来, 很跌宕起伏, 也很不愉快。 有自己曾经很讨厌的老师,自己很反感的同学。 有的老师美其名曰为了学生,为了大家,做不人道且做肆无忌惮的事情,随心所欲,无忧无虑。 有的同学为了巴结老师,帮着那些没有脑子的东西做事,做狗做…
学校2020年第一届新生赛 反思&总结
26 26*26 702 今年我们学校办了一场声势浩大的程序设计新生赛,吸引了学校一百三十多号新生前来参赛,可喜可贺。 作为弱鸡,为了第一时间围观dalao的风范,切身体会被dalao吊打的感觉,我上周日八点半就起了床,饭也没吃脸也没洗,打开浏览器就开始等待比赛开始。 九点的钟声准时敲响,比赛准时开始。 出了啥题 学长老早之前就说了,这次新生赛题目…
递归求全排列
如果现在有六个数字1 2 3 4 5 6,请列举出其所有的排列可能。 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。显然,这是一个全排列问题。 全排列问题是递归的代表题型。 递归思想 如果我想对从1到6的六个数字做全排列,我可以: 首先,我固定第一个数字…
洛谷P5732 杨辉三角
给出 n(n≤20),输出杨辉三角的前 n 行。 输入样例 6 输出样例 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 思路 规律就是(x,y)处的数字应该等于(x,y-1)和(x-1,y-1)两处数字的和。比如第三行第二个数字2是第二行的两个1的和。 开一个二维数组,不要第0行和0列,初始就给0,初始化指…
洛谷P5731 蛇形方阵
给出一个不大于 9 的正整数 n,输出 n×n 的蛇形方阵。 从左上角填上 1 开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 3 个字符,前面使用空格补齐。 输入样例 4 输出样例 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 思路 这一个方阵可以看做一个二维数组,可以利用二维数组来储存各个位置…
洛谷P2181 对角线
对于一个 n 个顶点的凸多边形,它的任何三条对角线都不会交于一点。请求出图形中对角线交点的个数。 思路 如果从数学的角度上去思考这一问题, 一个交点必然只能有两条对角线确定,因为任何三条对角线都不会交于一点. 那么问题就是,我们能在一个n顶点凸多边形里面取到几条对角线呢? 显然, 两点确定一条直线, n个顶点里面我们只需要看能取多少组"4…