- 博客(29)
- 资源 (20)
- 问答 (1)
- 收藏
- 关注
原创 磁盘调度算法剖析(FIFO、SSTF、SCAN、CSCAN、FSCAN)
常见的磁盘调度算法有以下几种:1.FIFO:先来先服务算法;2.SSTF: 最短寻道时间算法;3.SCAN:电梯调度算法;(这样命名很形象)4.CSCAN: 循环扫描算法5.FSCAN:分步电梯调度算法(分两个队列)下面详细说一下各个算法的主要思想:首先是FIFO算法,也就是先来先服务算法。这种算法的思想比较容易理解。假设当前磁道在某一位置,依次处理服务队列里的每一个磁道,这样做的优点是处理起来比...
2016-08-28 14:52:48 92502 32
原创 响应WM_TIMER实现定时器功能
所谓定时器,就是每隔一段时间程序自动执行某段程序。在这里,使用setTimer函数创建一个定时器,killTimer函数销毁一个定时器,自定义回调函数TimerProc,它是CALLBACK类型。下面说一下各个函数的原型:UINT_PTR SetTimer( //启动定时器 HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMER
2016-08-28 08:57:45 1999
原创 从B树到B+树
最近在看操作系统和数据库系统,当涉及到查找文件和建立数据库索引时书中反复提到使用B+ 树可以实现高效的查找,于是我迫不及待地想研究一下B+ 树的内部结构。首先从二叉查找树开始讲起。二叉搜索树(BinarySearch Tree),别名又叫二叉查找树,二叉排序树。它是一棵空树或者是满足以下条件的二叉树:它的左子树不空,则左子树上所有的结点的值均小于它的根节点的值;若它的右子树不空
2016-08-27 11:37:12 914
原创 九度OJ 1139 最大子矩阵
题目描述:已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。比如,如下4 * 4的矩阵0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2的最大子矩阵是9 2-4 1-1 8这个子矩阵的大小是15。输入:输入是一个N * N的矩阵。输入的
2016-08-17 21:55:36 736
原创 九度OJ Jugs (装水凑容量问题)
题目我就不粘贴了,点这里大致意思是:输入三个数a,b,c,表示有两个容器的容量分别是a和b,然后经过有限个六个步骤(将a加满,将b加满,将水从a倒入b,将水从b倒入a,清空容器a,b)里面的几步,从而使得容器里的水容量为c,因为这道题是特殊判题,也就是说不用考虑不成功的情况。这里我分为两种情况,第一,容器a的容量小于N,这种情况相当于样例一,不断的给容器b加水,然后倒入容器a,等a清空之后
2016-08-17 20:04:09 632
原创 九度OJ 1137
题目描述:求2个浮点数相加的和题目中输入输出中出现浮点数都有如下的形式:P1P2...Pi.Q1Q2...Qj对于整数部分,P1P2...Pi是一个非负整数对于小数部分,Qj不等于0输入:对于每组案例,第1行是测试数据的组数n,每组测试数据占2行,分别是两个加数。每组测试数据之间有一个空行,每行数据不超过100个字符输出:每组案例
2016-08-15 11:11:00 1133 2
原创 九度OJ 1123 采药 0/1背包问题
题目链接:http://ac.jobdu.com/problem.php?pid=1123题目大致意思是:给定一定的时间和草药的种类,采摘所花的时间,价值。要求的是在规定时间内求出采摘采药的最大价值。这道题我刚开始的思路是用贪心算法来做,按价值大小排序,每次选择价值最大的,然后看剩下的时间还够不够。后来发现不对。比如,草药时间,价值分别为90 100;40 70; 20 40 当我有1
2016-08-10 13:37:13 1310
原创 九度OJ 全排列
题目描述:给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。我们假设对于小写字母有'a' 输入:输入只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。输出:输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小的排列在前面。字母序如下定义:已知S = s1s2...sk , T = t1t2..
2016-08-09 22:38:16 1988
原创 九度OJ 1119 Integer Inquiry
题目描述: One of the first users of BIT's new supercomputer was Chip Diller. He extended his exploration of powers of 3 to go from 0 to 333 and he explored taking various sums of those numbers
2016-08-09 18:58:21 636
原创 九度OJ 1114 神奇的口袋
题目描述:有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入:输入的第一行是正整数n
2016-08-08 21:41:06 1248
原创 九度OJ 1102 最小面积子矩阵 (+最短连续子序列)
题目描述:一个N*M的矩阵,找出这个矩阵中所有元素的和不小于K的面积最小的子矩阵(矩阵中元素个数为矩阵面积)输入:每个案例第一行三个正整数N,M接下来N行,每行M个数,表示矩阵每个元素的值输出:输出最小面积的值。如果出现任意矩阵的和都小于K,直接输出-1。样例输入:4 4 101 2 3 45 6 7 89 10 11
2016-08-08 17:29:18 2988 3
原创 九度OJ 1111 单词替换
题目描述:输入一个字符串,以回车结束(字符串长度输入:多组数据。每组数据输入包括3行,第1行是包含多个单词的字符串 s,第2行是待替换的单词a,(长度第3行是a将被替换的单词b。(长度s, a, b 最前面和最后面都没有空格.输出:每个测试数据输出只有 1 行,将s中所有单词a替换成b之后的字符串。
2016-08-08 15:24:23 1086
原创 九度OJ 1112 拦截导弹
题目描述:某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。 输入:每组
2016-08-07 21:45:40 1148
原创 九度OJ 1103 二次方程计算器
题目描述:设计一个二次方程计算器输入:每个案例是关于x的一个二次方程表达式,为了简单,每个系数都是整数形式。输出:每个案例输出两个实数(由小到大输出,中间由空格隔开),保留两位小数;如果无解,则输出“No Solution”。样例输入:x^2+x=3x+4样例输出:-1.24 3.24我的思路是:将输入的方程式
2016-08-07 21:01:48 1454 5
原创 九度OJ 1104 整除问题
题目描述:给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除。输入:两个整数n(2输出:一个整数.样例输入:6 10样例输出:1本题按照常理做,是不可能解出来的。但看n!的表示就无法实现,当n=1000时,所有的类型都表示不下,更别说时间复杂度了。这道题的技巧性很强。我们的方法是,分
2016-08-07 19:34:09 925 6
原创 九度OJ 1107 搬水果
题目描述: 在一个果园里,小明已经将所有的水果打了下来,并按水果的不同种类分成了若干堆,小明决定把所有的水果合成一堆。每一次合并,小明可以把两堆水果合并到一起,消耗的体力等于两堆水果的重量之和。当然经过 n‐1 次合并之后,就变成一堆了。小明在合并水果时总共消耗的体力等于每次合并所耗体力之和。 假定每个水果重量都为 1,并且已知水果的种类数和每种水果的数目,你的任务是设
2016-08-07 16:29:24 757
原创 九度OJ 1108 堆栈的使用
题目描述: 堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。Push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。输入: 对于每组测试数据,第一行是一个正整数 n,0输出: 对于每组测试数据,根据其中的命令字符来处理堆栈;并对所有的'A’操作,输出当时栈顶的值,每个
2016-08-07 15:30:28 1328
原创 九度OJ 1091 棋盘游戏
题目描述: 有一个6*6的棋盘,每个棋盘上都有一个数值,现在又一个起始位置和终止位置,请找出一个从起始位置到终止位置代价最小的路径: 1、只能沿上下左右四个方向移动 2、总代价是没走一步的代价之和 3、每步(从a,b到c,d)的代价是c,d上的值与其在a,b上的状态的乘积 4、初始状态为1 每走一步,状态按如下公式变化:(走这步的
2016-08-07 15:28:22 577
原创 九度OJ 1109 连通图
题目描述: 给定一个无向图和其中的所有边,判断这个图是否所有顶点都是连通的。输入: 每组数据的第一行是两个整数 n 和 m(0输出: 对于每组输入数据,如果所有顶点都是连通的,输出"YES",否则输出"NO"。样例输入:4 31 22 33 23 21 22 30 0样例输出:NO
2016-08-07 10:54:57 696
原创 九度OJ 1101 计算表达式
题目描述:对于一个不存在括号的表达式进行计算输入:存在多种数据,每组数据一行,表达式不存在空格输出:输出结果样例输入:6/2+3+3*4样例输出:18这道题给的条件明显不足。有以下不足:没有交代运算符种类;操作数什么类型也没说;正负数也没交代。。但我还是硬着头皮做了。还是用栈来做。数
2016-08-06 22:13:00 1293
原创 九度OJ 1084 整数拆分
题目描述:一个整数总可以拆分为2的幂的和,例如:7=1+2+47=1+2+2+27=1+1+1+47=1+1+1+2+27=1+1+1+1+1+27=1+1+1+1+1+1+1总共有六种不同的拆分方式。再比如:4可以拆分成:4 = 4,4 = 1 + 1 + 1 + 1,4 = 2 + 2,4=1+1+2。用f(n)表示n的不同拆分的种数,例如f(7)=
2016-08-06 16:45:14 440
原创 九度OJ 1097 取中值
题目描述: 存在两组数组,和4个数字a,b,c,d,要求做如下操作,将第一个数组第a个数到第b个数,第二个数组的第c个数到第d个数放到一个数组中,求出合并后数组的中间值,如果有两个中间值,取下标较小的那个。输入: 第一行一个整数t表示有t个测试数据 第二行两个整数,表示两个数组的长度, 接下来两行表示两个数字的值, 最后一
2016-08-06 15:55:06 785
原创 九度OJ 1099 后缀子串排序
题目描述:对于一个字符串,将其后缀子串进行排序,例如grain其子串有:grain rain ain in n然后对各子串按字典顺序排序,即: ain,grain,in,n,rain输入:每个案例为一行字符串。输出:将子串排序输出样例输入:grain样例输出:aingrainin
2016-08-06 15:27:25 620
原创 九度OJ 1089 递推数列
题目描述:给定a0,a1,以及an=p*a(n-1) + q*a(n-2)中的p,q。这里n >= 2。 求第k个数对10000的模。输入:输入包括5个整数:a0、a1、p、q、k。输出:第k个数a(k)对10000的模。样例输入:20 1 1 14 5样例输出:8359本题用常规做法,时间复杂度为
2016-08-05 21:43:52 527
原创 九度OJ 1138 进制转换
题目描述:将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。输入:多组数据,每行为一个长度不超过30位的十进制非负整数。(注意是10进制数字的个数可能有30个,而非30bits的整数)输出:每行输出对应的二进制数。样例输入:0138样例输出:01111000之前做过一道
2016-08-05 16:45:22 3409
原创 九度OJ 1095 2的幂次方
题目描述: Every positive number can be presented by the exponential form.For example, 137 = 2^7 + 2^3 + 2^0。 Let's present a^b by the form a(b).Then 137 is presented by 2(7)+2(3)+2(0). Since
2016-08-03 23:12:21 778
原创 九度OJ 1080 (大整数的任意进制的转换)
题目描述:将M进制的数X转换为N进制的数输出。输入:输入的第一行包括两个整数:M和N(2下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出。输出:输出X的N进制表示的数。样例输入:16 10F样例输出:15提示:输入时字母部分为大写,输出时为小写,并且有大
2016-08-03 22:00:37 5995 5
原创 任意进制的转换
本文主要实现任意进制(2进制到32进制)之间的转换,前提是最大的数不超过long long 可表示的范围。思路:将M进制的数字根据公式先转换成 十进制,然后将十进制再转换成 N进制。假设M进制数为X = abcde公式1: 十进制数 = a * M^4 + b*M^3 + c*M^2 + d*M^1 + e*M^0为了优化执行的效率,可以作以下改进:十进制数 = ( ( (
2016-08-03 20:34:47 1825
原创 华为OJ 提出不重复的数
描述输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。知识点数组运行时间限制10M内存限制128输入输入一个int型整数输出按照从右向左的阅读顺序,返回一个不含重复数字的新的整数如果返的整数以0开头,去掉0;如
2016-08-01 15:21:56 826
暴力音频检测VioAudio数据集.rar
2019-05-28
Voicebox语音处理包
2017-05-25
磁盘调度算法
2016-09-08
黑客与画家
2016-01-27
matlab 数据变量net,不显示内容
2016-01-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人