自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

酱油拌面

What if it rained? We didn't care

  • 博客(9)
  • 问答 (1)
  • 收藏
  • 关注

原创 HDU1016-经典DFS

Prime Ring ProblemTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 39891 Accepted Submission(s): 17589Problem Description A ring is compose

2016-04-16 19:02:38 226

原创 HDU1241-经典dfs

Oil DepositsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 22306 Accepted Submission(s): 12860Problem Description The GeoSurvComp geologic

2016-04-16 15:25:56 219

原创 汉诺塔

说到递归不得不说汉诺塔。 题目大家都知道,不赘述,直接入主题。一个盘子时直接从A到C。在只有两个盘子的情况下: 先把两个盘子中小的(也就是最上面的)先移到B,然后把最大的移到C,最后把B中的盘子移到C。思路是这样。 简单用符号表示: A———B A———C B———C3个盘子时,可以把上面的(n-1=3-1=2)2个盘子看成整体,也就是只有两个部分,此时以(n-1)整体来考虑,即以C为辅

2016-04-11 20:15:23 208

原创 快速排序

快速排序是一种分区间交换排序的方法,基本思路是,在数组中确定一个对比值,一般为区间中的第一个,然后初始定义first=0和 last=n-1,将大于对比值的数放在右边,小于的放在左边,然后可以利用递归把左右区间再次进行上面的操作。 如下图: 开始以第一个数28为关键字,那么: 第二行;在第一行中,50大于28,–last; 然后20小于28,将20移到第一行中first的位置,即a

2016-04-03 16:48:02 206

原创 筛法求素数

把素数的倍数全部标记,即可求出所有的素数。#include <iostream> #include <string.h> #include <stdio.h> using namespace std;const int maxn = 100000000+100; //一亿 bool arr[maxn];void isPrim(int n) { for(int i=2;i<=n;i++)

2016-04-03 12:14:56 187

原创 希尔排序

希尔排序,又称作”缩小增量法排序“,思路是不断把待排序的数组记录按间隔值(然后按下标)分成若干个小组,然后对同一个小组进行排序。设间隔值d(j-i=d),那么有1#include <iostream> #include <algorithm> #include <stdio.h>const int maxn = 1000+10; int arr[maxn];using namespace std;v

2016-04-03 01:15:32 246

原创 拆半插入排序

参考直接插入排序,用二分优化了查找的时间。直接贴代码了#include <stdio.h> #include <iostream> #include <string.h> const int maxn = 1000+10; int arr[maxn];using namespace std;void InsertSort(int arr[], int n) { int low, high,

2016-04-01 14:47:58 376

原创 直接插入排序

直接插入排序,名字怎么感觉不对啊,是对输入的一个无序的数组进行排序; 排序过程示意: 思路是找到适合的位置后,把之后的数组元素后移,后移的小技巧参考代码。代码如下:#include <stdio.h> #include <iostream> #include <string.h> const int maxn = 1000+10; int arr[maxn];using namespace

2016-04-01 14:18:57 246

原创 选择排序

选择排序的思路是,输入n个数,存储在下标从0到n-1。第一次,是从下标1到n-1的数中寻找比下标i=0的数小的,有则互换,无则不便;然后再从下标从2到n-1的数中,寻找数与下标i=1的数比较,得出第二小的,以此类推。代码如下:#include <iostream> const int maxn = 1000+10; int arr[maxn];using namespace std;int main

2016-04-01 00:12:58 193

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除