![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习
空月落
这个作者很懒,什么都没留下…
展开
-
多关键字排序 笔记
某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名学生的学号和总分。注意,在前5名同学中,每个人的奖学金都不相同,因此,你必须严格按上述规则排序。输入格式输入文件包含n+原创 2021-02-08 20:41:40 · 439 阅读 · 0 评论 -
校门外的树(刷数组、区间合并)笔记
校门外的树某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。刷数组开一个bool类型的数组tree[L],原创 2021-02-08 20:02:27 · 218 阅读 · 0 评论 -
剪绳子 (二分法) 笔记
题目:有N根绳子,第i根绳子长度为Li,现在需要M根等长的绳子,你可以对N根绳子进行任意裁剪(不能拼接),请你帮忙计算出这M根绳子最长的长度是多少原题链接思路:考虑可不可以用二分法使之转化为判断问题1)mid是否可以满足条件,则左侧及mid满足条件,可得最优的结果在【mid,R】;2)若mid不满足条件,则右侧及mid都不满足条件,可得最优结果在【L,mid】;...原创 2021-02-03 21:14:40 · 269 阅读 · 0 评论 -
2021-02-01
回文数 笔记(考点短除法)枚举法原题链接回文数:如12321等取数x ,求得x的 平方在b进制下是否是回文数核心:如何将10进制的数转化为b进制短除法如112在5进制的数为:422112/5=22…222/5=4…24/5=0…4得(422)5ps:1)10进制转化为其他进制为短除法2)其他进制转化为10进制—秦九韶算法3)如何将其他进制转化为其他进制原题链接1、用十进制转化2、短除法3、扩展发输入进制b枚举法将10进制的数转化为b进制看是否为回文数将10进制数的平原创 2021-02-01 13:13:50 · 163 阅读 · 2 评论 -
flood fill算法 笔记
Flood Fill算法笔记(仅供学习)bfs(最短路径)dfs(更方便)有一间长方形的房子,地上铺两种颜色的正方形瓷砖。你站在其中一块绿色的瓷砖上,只能向相邻(上下左右四个方向)的绿色瓷砖移动。bfswhile(队列非空){ 取出队头t; 枚举t的4个格子; if (格子是陆地且没有被搜过) 标记当前格子已被开发 插入队列}有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动。请写一个程序.原创 2021-02-01 12:29:18 · 118 阅读 · 0 评论