摘要: 给你一个长度为n的数组,现在定义以下三种操作。 "1 x"表示删除数组的第x(1<=x<=m)个元素,第x+1到第m个元素全部往前移一位。m为操作前数组的元素个数。 "2 x y"表示在数组的第x(1<=x<=m)位插入元素y,原数组的第x个元素到第m个元素全部往后移一位。m为操作前数组的元素个数。 阅读全文
posted @ 2020-12-06 19:51 TheWeak 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 这道题是一个很简单的枚举题:给定n,m,k求: 符号意义均为数学表达中的一般意义。 符号解释:为防止读不懂符号意义,做符号解释: gcd(i,j)表示i与j的最大公因数。 表示的是k为gcd(i,j)的因子; [ ]表示当[ ]内的命题为真,则结果为1,若为假,则为0;例如[ 这道题是一个很简单的枚 阅读全文
posted @ 2020-12-06 18:34 TheWeak 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 母牛刚来到广东柱子大学时,就被学校的柱子深深地迷住。于是,母牛立下了flag,要在大学4年爬遍学校的柱子。同时,每个柱子顶部都有一个最佳的俯瞰学校的观测点。母牛在爬柱子时,会从柱子底爬到柱子顶的最佳观测点。为了尽快爬完大学所有的柱子,母牛想知道他爬一根柱子最短路径。 为方便计算,我们将柱子简化成如上 阅读全文
posted @ 2020-12-06 16:40 TheWeak 阅读(91) 评论(2) 推荐(1) 编辑
摘要: 思路: 递归法① 将序列每相邻两个数字进行归并操作,形成floor(n/2)个序列,排序后每个序列包含两个元素② 将上述序列再次归并,形成floor(n/4)个序列,每个序列包含四个元素③ 重复步骤②,直到所有元素排序完毕 #include<iostream> using namespace std 阅读全文
posted @ 2020-12-06 15:43 TheWeak 阅读(44) 评论(0) 推荐(1) 编辑
摘要: 快速排序模板 快速排序是十分常用的高效率的算法。 其思想是:先选一个“标尺”, 用它把整个队列过一遍筛子, 以保证:其左边的元素都不大于它,其右边的元素都不小于它。 这样,排序问题就被分割为两个子区间。 再分别对子区间排序就可以了。 伪代码 void quick_sort(操作的数组,值的范围l,r 阅读全文
posted @ 2020-12-06 15:38 TheWeak 阅读(45) 评论(0) 推荐(1) 编辑