分类:算法

18 篇文章

学校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…
四皇后问题(暴力穷举)
今天老师上课讲解n皇后问题,提出一个比较简单的问题:如何用穷举法来解决四皇后问题。 由于我太菜了,用了比较长的时间来解决这个问题。emmmm,在一顿反思之后,决定总结一下。 四皇后问题 皇后可以吃掉棋盘上其所在行、列以及对角线上的所有旗子。如果有4和皇后,如何摆放才能使其在一个 4*4 的棋盘上共存呢? 思路 考虑到每个皇后可以吃掉其所在行上的所有…
筛法求质数 之 埃式筛
现在有这样的一个题目 输入格式 一行两个整数 询问次数n,范围m 接下来n行,每行两个整数 l,r 表示区间 输出格式 对于每次询问输出个数t,如l或r∉[1,m]输出 ERRER 范围 1<=n<=1000 1<=m<=1000000 -10^9<=l<=r<=10^9 1<=t<=10000…
谁的程序更厉害?——时间复杂度浅谈
怎么看谁的程序更厉害呢? 如果我让两个人为了解决同一个问题,写了两个不一样的程序,但是这两个程序都能办成同一件事,我应该选择谁的程序呢? 也就是说,我们需要一种东西,这种东西能衡量两个不同的程序谁更厉害。 解决这个问题最重要的问题就是,评判的标准是什么。 我们卡啥标准好呢? 程序在运行的时候消耗的最重要的两个硬件,一个是CPU,一个是内存。也就是程…