- 博客(38)
- 资源 (9)
- 收藏
- 关注
原创 选择排序(Selection Sort)
选择排序的工作原理是:每次从未排序数列找到最小值放到前面,前面的数形成一个有序数列,到最后一个数为止。这种算法虽然也是双层循环,但每次循环只交换一次会节省不少空间。主要代码:void select_sort(int a[], int n){ for(int i=0;i<n-1;i++) { int flag = i; for(int j=i;j<n;j++)...
2019-03-20 18:04:14
242
原创 希尔排序(Shell's Sort)
希尔排序又叫缩小增量排序,是1959年 Shell 发明的第一个突破O(n2)的排序算法,是简单插入排序的改进版。它与插入排序的不同之处在于,它会优先比较距离较远的元素。这种排序是把一定间隔的数当做一个数组,在每个分好的数组里进行插入排序,再缩小间隔重复步骤,直到间隔为1,直接插入排序所有数。这样开始每组数据量都比较小,可以发挥插入的优势,排序速度比较快,在缩小间隔后,虽然个数增加,但是因...
2019-03-20 17:15:46
403
原创 直接插入排序(Straight Insertion Sort)
插入排序,顾名思义就是插,找一个数往有序数列里插。用插入法排序就是,把n个待排序的元素看成为一个有序数列和一个无序数列。开始有序数列中只有一个数,剩余 n-1 个数都在无序数列,然后每次从无序数列中拿出一个数插入到有序数列里,重复 n-1 次。直接插入算法在规模越小,有序程度越高时越高效主要代码void insert_sort(int a[], int n){ for(i...
2019-03-20 09:19:22
206
原创 快速排序(Quicksort)
同冒泡排序一样,快速排序也属于交换排序,通过元素之间的比较和交换位置来达到排序的目的。不同的是,冒泡排序在每一轮只把一个元素冒泡到数列的一端,而快速排序在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列一边,比它小的元素移动到数列的另一边,从而把数列拆解成了两个部分。这种方法叫分治法。快排的主要思想就是分治,每次把大于基准和小于基准的数分在两边,每部分在下次又分为两个部分,直...
2019-03-19 21:38:17
443
原创 冒泡排序(Bubble Sort)
冒泡原理:1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3. 针对所有的元素重复以上的步骤,除了最后一个。4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。简单来说就是,进行 n-1 轮比较,每轮从头到尾依次比较两个相邻的数,把最大的放...
2019-03-19 19:31:21
223
原创 十大排序算法
排序算法分类 比较类: 交换排序:冒泡排序、快速排序 插入排序:直接插入排序、希尔排序 选择排序:简单选择排序、堆排序 归并排序:二路归并排序、多路归并排序 非比较排序: 计数排序、桶排序、基数排序按排序操作位置分为 内部排序: 交换排序:冒泡排序、快...
2019-03-19 17:37:44
174
原创 算法训练 审美课 (二进制存储 取反,异或?)
问题描述 《审美的历程》课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋友之手。老师请同学们分辨哪些画的作者是梵高,但是老师自己并没有答案,因为这些画看上去都像是小朋友画的……老师只想知道,有多少对同学给出的答案完全相反,这样他就可以用这个数据去揭穿披着皇帝新衣的抽象艺术了(支持帅老师^_^)。 答案完全相反是指对每一幅画的判断都相反。输入格式 第...
2019-03-19 11:35:25
481
原创 CCF201812-2 小明放学
题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。问题描述 一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”...
2019-03-14 19:59:32
154
原创 CCF201612-1 中间数
问题描述 在一个整数序列a1, a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。 给定一个整数序列,请找出这个整数序列的中间数的值。输入格式 输入的第一行包含了一个整数n,表示整数序列中数的个数。 第二行包含n个正整数,依次表示a1, a2, …, an。输出格...
2019-03-14 08:54:55
219
原创 CCF201703-2 学生排队
问题描述 体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。 例如,下面给出了一组移动的例子,例子中学生的人数为8人。 0)初始队列中学生的学号依次为1, 2, 3, 4, 5, 6, 7, 8; 1)第一次调整,命令为“3号同学向后移动2”...
2019-03-14 08:04:28
113
原创 CCF201709-2 公共钥匙盒
问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家。每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中。 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙。一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙。 每次取钥匙的时候,老师们都会找到自己所需要的钥...
2019-03-13 17:52:21
117
原创 CCF201803-3 URL映射
问题描述 URL 映射是诸如 Django、Ruby on Rails 等网页框架 (web frameworks) 的一个重要组件。对于从浏览器发来的 HTTP 请求,URL 映射模块会解析请求中的 URL 地址,并将其分派给相应的处理代码。现在,请你来实现一个简单的 URL 映射功能。 本题中 URL 映射功能的配置由若干条 URL 映射规则组成。当一个请求到达时,URL 映射功...
2019-03-13 17:47:44
118
原创 CCF201803-2 碰撞的小球
试题编号: 201803-2 试题名称: 碰撞的小球 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。 当小球到达线段的端点...
2019-03-12 18:25:53
115
原创 方格填数 (简单DFS)
题目描述如下的10个格子 +--+--+--+ | | | |+--+--+--+--+| | | | |+--+--+--+--+| | | |+--+--+--+填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?题解这是一道最简单的dfs题,添加判断函数即可# ...
2019-03-05 10:30:44
204
原创 MySQL基础命令
#查看mysql版本Windows中:mysql --versionmysql中:select version(); #查看mysql端口号 cmd命令进入mysql后输入show global variables like 'port'; #启动mysql服务器net start mysql#关闭 net stop mysql #进入...
2018-11-23 11:36:32
270
原创 MySQL环境变量配置
成功安装MySQL后就可直接打开MySQL的client输入命令,操作MySQL数据库。当然也可以使用cmd命令行输入MySQL命令进行操作。但麻烦的是每次都要找到MySQL安装目录下的bin文件夹再进行操作,是不是很麻烦?所以,为了方便懒癌患者,我们就要配置MySQL的环境变量,使得打开cmd命令行后就可以直接使用数据库。一、打开环境变量可以直接在底部搜索栏直接搜索环境变量或者打...
2018-11-23 11:00:09
753
原创 欧拉函数
定义在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1)。例如φ(8)=4,因为1,3,5,7均和8互质。内容通式:即:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn)其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1(和1互质的数(小于等于1)就是1本身)。注...
2018-08-09 16:54:56
1569
原创 月球机器人漫步 (牛客网Wannafly挑战赛21 B)(各种子序列都不会越界)
机器人时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld题目描述从前在月球上有一个机器人。月球可以看作一个 n*m 的网格图,每个格子有三种可能:空地,障碍,机器人(有且仅有...
2018-08-04 09:31:47
506
原创 Enduring Exodus (CodeForces - 655C)三分法 (连续k+1个位置,距离中间最短的距离)
Enduring Exodus time limit per test 2 seconds ...
2018-07-31 16:05:51
538
原创 快速幂模板 (求余)
相信童鞋们做题多了会发现,很多题都是要求次幂的。如果数据比较小,用int 或者long long 的暴力也是可以出结果的,但很多题就不尽如人意了,数据往往非常大,long long 可能都存不下,甚至还会爆内存,导致数据出错。这时候就需要更快更省内存的算法——快速幂快速幂快速幂,就是快!想象一下,求2^16,是2*2*2*...乘16个2快,还是((2*2*2*2) * (2*2*2*2)...
2018-07-25 11:03:02
248
原创 Sum (HDU - 4704)隔板定理 组合数求和 费马小定理(2^(N-1)%(1e9+7) N巨大)
Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...
2018-07-25 08:49:16
914
1
原创 Intense Heat ( CodeForces - 1003C)(连续k个(到n个)最大平均值)
Intense Heat time limit per test 4 seconds ...
2018-07-24 08:10:57
279
原创 Binary String Constructing (CodeForces - 1003B) (a个0,b个1,组成字符串,x个si≠si+1)
Binary String Constructing time limit per test 1 second ...
2018-07-23 19:54:16
253
原创 Polycarp's Pockets (CodeForces - 1003A) (升序,下一行继续升序,要几行——相同数最多几个)
Polycarp's Pockets time limit per test 1 second ...
2018-07-23 19:41:59
272
原创 Bear and Finding Criminals (CodeForces - 680B)(距a地0、1、2. . .有几个小偷)
Bear and Finding Criminals time limit per test 2 seconds ...
2018-07-23 11:02:54
315
原创 Bear and Five Cards (CodeForces - 680A )(五个数减去2或3个相同数,剩下数最小多少)
Bear and Five Cards time limit per test 2 seconds ...
2018-07-23 10:48:34
232
原创 Beautiful Paintings (CodeForces - 651B)(升序,下一行升序,共多少间隔)
Beautiful Paintings time limit per test 1 second ...
2018-07-23 10:33:16
253
原创 Joysticks ( CodeForces - 651A)(充电+1,不充-2,最长坚持多长时间)
Joysticks time limit per test 1 second ...
2018-07-23 10:17:13
300
原创 Bicycle Race (CodeForces - 659D)(绕水池骑车,喂鳄鱼否?)
Bicycle Race time limit per test 1 second ...
2018-07-23 10:05:19
317
原创 Tanya and Toys (CodeForces - 659C)贪心(从1开始取不包括已给数据,和小于等于m,最多能取多少)
Tanya and Toys time limit per test 1 second ...
2018-07-23 09:27:10
239
原创 Qualifying Contest (CodeForces - 659B)结构体排序(每个地区取成绩前两名)
Qualifying Contest time limit per test 1 second ...
2018-07-23 08:59:06
389
原创 Round House (CodeForces - 659A)(绕圈圈,走到哪?)
Round House time limit per test 1 second ...
2018-07-23 08:31:18
322
原创 去除/恢复桌面快捷方式小箭头
有没有盆友会觉得桌面快捷方式的小箭头看着很不舒服?咳咳,至少我觉得看着不顺眼,所以来说说去掉这个小箭头的方法 新建一个文本文件,把下面代码复制进去,保存,把文件后缀改为bat,右键以管理员身份运行就可以啦去除小箭头:reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer...
2018-07-21 21:24:33
1393
原创 Lake Counting (POJ No. 2386) 穷竭搜索 简单dfs (有多少水洼)
Lake CountingDescriptionDue to recent rains, water has pooled in various places in Farmer John's field, which is represented by a rectangle ...
2018-07-21 17:03:11
190
原创 部分和问题 (已给数中取无所谓个,和为k)
题目给定整数a1、a2、...、an,判断是否可以从中选出若干数,是它们的和恰好为k。(1≤n≤20,-10^8≤ai≤10^8,-10^8≤k≤10^8) 样例输入:n = 4a = 1, 2, 4, 7k = 13n = 4a = 1, 2, 4, 7k = 15 输出:YESNO 题解1、01背包(n²)...
2018-07-21 16:52:08
922
原创 Ants(POJ No. 1852)(蚂蚁过竿,撞还是不撞?时间长短?)
AntsTime Limit: 1000MS Memory Limit: 30000K Total Submissions: 7418 Accepted: 3426 DescriptionAn army of ants walk on a ...
2018-07-21 15:40:11
548
原创 三角形(最长周长)
题目有n根棍子,棍子i的长度为ai。想要从中选出三根棍子组成周长尽可能长的三角形。请输出最大的周长,若无法组成三角形则输出0。(3 ≤ n ≤ 100,1 ≤ ai ≤ 10^6) 样例输入:n = 5a = 2, 3, 4, 5, 10n = 4a = 4, 5, 10, 20 输出:120 题解选择3根棍子,他们能...
2018-07-21 15:29:58
1988
原创 抽签 (抽四次,和为m否?放回)
题目 你的朋友提议玩一个游戏:将写有数字的n个纸片放入口袋中,你可以从口袋中抽取4次纸片,每次记下纸片上的数字后都将其放回口袋中。如果这4个数字的和是m,就是你赢,否则就是你的朋友赢。你挑战了好几回,结果一次也没赢过,于是怒而撕破口袋,取出所有纸片,检查自己是否真的有赢的可能性。请你编写一个程序,判断当纸片上所写的数字是k1, k2, …, kn时,是否存在抽取4次和为m的方案。如...
2018-07-21 15:15:31
1065
fscan——综合扫描工具
2022-07-08
Seay-Svn源代码泄露漏洞扫描工具
2022-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人