随笔分类 - 算法题
摘要:筛法求素数 原理: 1、偶数除了2以外,其余的都是合数,因此我们在奇数中寻找质数; 2、在奇数当中的任何一个合数都可以拆成比它小的素数与另一个奇数因子的乘积; 因此,如果要求2~num中所有的质数,将所有的偶数排除,设余下的奇数均为质数, 从最小的质数开始算起,将该质数的x倍所对应的数都设置为合数(
阅读全文
摘要:思路: 1、将一组需要排序的数中的第一个数作为准则 2、对于剩余的数,如果小于该准则则放在该数的左边,否则放在它的右边 3、对于该准则左边和右边的数分别再重复1、2 思考: 1、需要使用辅助数组y来暂时存放已排好的数据 2、需要使用a、b来记录需要排序的数据存放的位置编号范围,后面递归时需要用到 3
阅读全文
摘要:堆排序思路: 1、将数据存在数组的1~n的编号中 2、根据元素的个数算出满二叉树的高度,记录为k 3、从第k-1层的每个节点开始处理,将以每个节点为根节点的子树变成大顶堆 (这里使用exchange()函数,该函数将在该节点、左右子女节点中找出值最大的节点,用flags记 录其编号,将j节点的值交换
阅读全文
摘要:代码思路: 这里实现的是稳定的从小到大排序; 将需要排序的数组分为长度为gap的组(gap为1,2,4,····gap小于等于数组的总长度) 对于长度为gap的数组,对半分成两组(由于这两组是分组长度为gap/2时的分组,所以组内是有序的),将这两组使用merge()函数进行合并排序 对于末尾长度不
阅读全文
摘要:对于序列中第二个数开始,使用二分法查找其插入的位置,代码中最后low的值即为该数所在的位置, 注意跳出循环的条件为low > high,不能取等号 为保证为稳定的排序,if(a[mid]==x) low =mid + 1;
阅读全文
摘要:King's Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 832 Accepted Submission(s): 460 Probl
阅读全文
摘要:3145 汉诺塔游戏 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 白银 Silver 题解 3145 汉诺塔游戏 3145 汉诺塔游戏 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 白银 Silver 时间限制: 1 s 空间限制: 32000 KB 题目等级
阅读全文
摘要:1501 二叉树最大宽度和高度 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 时间限制: 1 s 时间限制: 1 s 空间限制: 128000 KB 空间限制: 128000
阅读全文
摘要:1012 最大公约数和最小公倍数问题 2001年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 1012 最大公约数和最小公倍数问题 2001年NOIP全国联赛普及组 1012 最大公约数和最小公倍数问题 2001年NOIP全国联赛
阅读全文
摘要:/p 1160 蛇形矩阵 1160 蛇形矩阵 1160 蛇形矩阵 题目描述 Description 小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数
阅读全文
摘要:/p 问题描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成
阅读全文
摘要:说明:电梯调度算法的基本原则就是如果在电梯运行方向上有人要使用电梯则继续往那个方向运动,如果电梯中的人还没有到达目的地则继续向原方向运动。具体而言,如果电梯现在朝上运动,如果当前楼层的上方和下方都有请求,则先响应所有上方的请求,然后才向下响应下方的请求;如果电梯向下运动,则刚好相反。 题目难度:较难
阅读全文
摘要:题目大意:输入D,当时针,分针,秒针两两的角度都大于或等于D时,则三者都很开心,问一天中,三者都开心的时间占了百分之几? 具体题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1006 解题思路: 一、大致的思路为: 根据条件,由于精度限制,不能对时分秒都
阅读全文
摘要:考试排名 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 15541 Accepted Submission(s): 5464 Problem D
阅读全文
摘要:</p> Number Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 38553 Accepted Submission(s)
阅读全文
摘要:要求:在一个N*N的棋盘上放置N个皇后,每行一个并使其不能互相攻击(同一行、同一列、同一斜线上的皇后都会自动攻击)。 代码概述: 先写一个检测是否能放皇后的函数,还有一个输出函数 再写一个函数为执行试探的步骤 在该函数中: 对于合格的位置进行放置皇后检验:如果可以放置,则进行到下一行的第一个位置;如
阅读全文
摘要:Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 164592 Accepted Submission(s): 38540 Prob
阅读全文
摘要:A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 316067 Accepted Submission(s):
阅读全文
浙公网安备 33010602011771号