09 2016 档案

八大排序算法之六--交换排序—快速排序(Quick Sort)
摘要:基本思想: 1)选择一个基准元素,通常选择第一个元素或者最后一个元素, 2)通过一趟排序讲待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的 元素值比基准值大。 3)此时基准元素在其排好序后的正确位置 4)然后分别对这两部分记录用同样的方法继续进行排序,直到整个序 阅读全文

posted @ 2016-09-30 14:55 泡面小王子 阅读(357) 评论(0) 推荐(0)

八大排序算法之五--交换排序—冒泡排序(Bubble Sort)
摘要:基本思想: 在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 算法实现:(HDU 1040 亲测 AC) #include<iostream> usi 阅读全文

posted @ 2016-09-21 22:59 泡面小王子 阅读(575) 评论(0) 推荐(0)

八大排序算法之四选择排序—堆排序(Heap Sort)
摘要:堆排序是一种树形选择排序,是对直接选择排序的有效改进。 基本思想: 堆的定义如下:具有n个元素的序列(k1,k2,...,kn),当且仅当满足 时称之为堆。由堆的定义可以看出,堆顶元素(即第一个元素)必为最小项(小顶堆)。 若以一维数组存储一个堆,则堆对应一棵完全二叉树,且所有非叶结点的值均不大于( 阅读全文

posted @ 2016-09-20 22:25 泡面小王子 阅读(223) 评论(0) 推荐(0)

八大排序算法之三选择排序—简单选择排序(Simple Selection Sort)
摘要:基本思想: 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。 简单选择排序的示例: 操作方法: 第一趟,从n 个记录中找出关键码最小的记 阅读全文

posted @ 2016-09-19 22:52 泡面小王子 阅读(355) 评论(0) 推荐(0)

八大排序算法之二希尔排序(Shell Sort)
摘要:希尔排序是1959 年由D.L.Shell 提出来的,相对直接排序有较大的改进。希尔排序又叫缩小增量排序 基本思想: 先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。 操作方法: 算法实现: 我们简单处理增量序列:增 阅读全文

posted @ 2016-09-18 18:26 泡面小王子 阅读(594) 评论(0) 推荐(0)

八大排序算法之一插入排序
摘要:基本思想: 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。 要点:设立哨兵,作为临时存储和判断数组边界之用。 如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等 阅读全文

posted @ 2016-09-17 21:22 泡面小王子 阅读(289) 评论(0) 推荐(0)

hdu 1061 Rightmost Digit
摘要:解决本题使用数学中的快速幂取余: 该方法总结挺好的:具体参考http://www.cnblogs.com/PegasusWang/archive/2013/03/13/2958150.html #include<iostream> #include<cmath> using namespace st 阅读全文

posted @ 2016-09-16 19:12 泡面小王子 阅读(168) 评论(0) 推荐(0)

HDU 1060 Leftmost Digit
摘要:基本思路:(参考大神和加自己的思考) 考虑到此题需要输入这么大的数a,并且还的求aa,求出来会更大,更多位。当时考虑用大数方法求(数组实现),结果实现不行。看网上大神采用对数法,巧妙避开处理这么大的数。 这就是数学的魅力!! 假如aa=b,两边同时取对数alog10a=log10b,从而有b=10a 阅读全文

posted @ 2016-09-14 19:42 泡面小王子 阅读(260) 评论(0) 推荐(0)

Python异常处理
摘要:try-finally 语句 try-finally 语句无论是否发生异常都将执行最后的代码。 我们可以使用raise语句自己触发异常 raise语法格式如下: 当在try块中抛出一个异常,立即执行finally块代码。 finally块中的所有语句执行后,异常被再次触发,并执行except块代码。 阅读全文

posted @ 2016-09-13 21:38 泡面小王子 阅读(150) 评论(0) 推荐(0)

HDU 1715 大菲波数
摘要:大菲波数 大菲波数 问题描述 : 问题描述 : Fibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3。 计算第n项Fibonacci数值。 输入: 输入: 输入第一行为一个整数N,接下来N行为整数Pi(1<=Pi<=1000)。 输出: 输出: 阅读全文

posted @ 2016-09-13 10:34 泡面小王子 阅读(207) 评论(0) 推荐(0)

HDU-1042 N!
摘要:首先明白这是大数问题,大数问题大多采用数组来实现。如何进位、求余等。比如1047 (Integer Inquiry); 对于1042问题 计算10000以内数的阶乘,因为10000的阶乘达到35660位。所以普通的做法是无法实现的。所以我们只能定义一个40000个成员的数组就可以啦。 int a[4 阅读全文

posted @ 2016-09-12 20:03 泡面小王子 阅读(353) 评论(0) 推荐(0)

HDU:Integer Inquiry
摘要:改版 为什么一直WA #include"stdio.h" #include"stdlib.h" #include"string.h" #define N 105 int a[N],b[N]; int main() { int i,j,n,n1,flag; char ch[N]; scanf("%d" 阅读全文

posted @ 2016-09-12 11:04 泡面小王子 阅读(206) 评论(0) 推荐(0)

天大 ACM 1090. City hall
摘要:此题的关键就在你是如何选择来计算需要加进去的砖块,是从小的height开始还是从大的height开始。本题是新建一个数组用来存储从最大的(最大的height)砖头开始的砖头数。代码中“for(int k=m;k>=1;k--)” 然后通过下面中的 str[iii][j]='1'; 将其补上;进而再计 阅读全文

posted @ 2016-09-11 21:17 泡面小王子 阅读(375) 评论(0) 推荐(0)

C++中关于cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
摘要:1.cin>> 用法1:最基本,也是最常用的用法,输入一个数字: 注意:>> 是会过滤掉不可见的字符(如 空格 回车,TAB 等) cin>>noskipws>>input[j];//不想略过空白字符,那就使用 noskipws 流控制 用法2:接受一个字符串,遇“空格”、“TAB”、“回车”都結束 阅读全文

posted @ 2016-09-11 12:56 泡面小王子 阅读(16525) 评论(0) 推荐(2)

Integer Inquiry -TJU1112
摘要:作为最简单的高精度加法,要注意的是如下几点, 第一,因为是数位达到上百位的大数,所以只能用字符串数组来存贮。 第二,为了方便之后的相加操作,应该把字符串数组逆序转化为一个整型数组。 第三,在控制进位的时候,应该用一个工具变量,假设为h,则h初始值为0.之后在循环体里h是等于对应位的两个数相加之后/1 阅读全文

posted @ 2016-09-11 11:11 泡面小王子 阅读(417) 评论(0) 推荐(0)

天大acm 题号1002 Maya Calendar
摘要:Description 上周末,M.A. Ya教授对古老的玛雅有了一个重大发现。从一个古老的节绳(玛雅人用于记事的工具)中,教授发现玛雅人使用了一个一年有365天的叫做Haab的历法。这 个Haab历法拥有19个月,在开始的18个月,一个月有20天,月份的名字分别是pop, no, zip, zot 阅读全文

posted @ 2016-09-05 20:58 泡面小王子 阅读(603) 评论(0) 推荐(0)

python实现删除文件与目录的方法
摘要:os.remove(path) 删除文件 path. 如果path是一个目录, 抛出 OSError错误。如果要删除目录,请使用rmdir().os.rmdir()只能删除空目录 remove() 同 unlink() 的功能是一样的 在Windows系统中,删除一个正在使用的文件,将抛出异常。在U 阅读全文

posted @ 2016-09-03 23:00 泡面小王子 阅读(2496) 评论(0) 推荐(1)