Uva及其他算法练习题
文章平均质量分 68
一些比较典型的算法问题
进击的神龟
入坑的小小程序员
展开
-
优先队列Uva136:丑数(Ugly Numbers)
最小的丑数是1,其他所有数x,2x,3x,4x,5x都是丑数,如果用一个优先队列保存所有已生成的丑数,每次把最小的丑数取出来,然后生成三个新的丑数。本题解法很多,但是第一情况下,大家是不是会想到一个数一个数的循环遍历,并用一个变量(sum)记录,如果是能被2,3,5整除的素数,看sum是否等于第1500,到了就输出那个数。优先队列本质上是堆排序,虽然说是按照优先级来排序,但是对于单纯的数字集合来说,就是简单的按照从小到大或者从大到小的顺序排序。丑数是指不能被2,3,5以外的其他素数整除的数。原创 2023-02-27 19:23:52 · 218 阅读 · 0 评论 -
求子矩阵的和,二维数组指定区域的和(前缀和二维)
*关于一维数组的前缀和(求指定区间的所有数的和)文章说明。原创 2023-02-27 12:40:12 · 194 阅读 · 0 评论 -
Uva540:团体队列(详解包看懂)
有t 个团队的人正在排长队。每有一个新来的人时,他会从队首开始向后搜寻,如果发现有队友正在排队,他就会插队到他队友的身后;出队则踢了第一个人就可以,入队的操作就是先找到长队中的第一个团队,再把人加到这个团队的末尾即可。如果是入队’E’,那么就先找到入队人x所在团队的编号t,如果团队t这个队列没有元素,那么就说明前面没有人在排队,于是就代表团队t,加到长队的最后。系统只识别指令第一个字母,比如出队操作,则识别’D’,出队比较简单,找到团队队列的首元素团队,再找到该团队的第一个人,然后把这个人踢掉,就ok;原创 2023-02-26 16:46:48 · 569 阅读 · 0 评论 -
有一堆水果,其中苹果有 x 个,雪梨有 y 只,桃子有 z 只,从中任取 m 个水果 共有多少种不同的情况
原理呢就是 :无论你选什么,最终只要凑够m个就好,而且有一个数量限制,不能说就一个苹果,却拿了3个,若一共有3个苹果,就最多只能拿3个,但是也能只拿两个把所有符合的情况加起来,就OK了。这种写法大家都看到了, 是一个三重循环,要是数据量大,那将会耗费挺长的时间,于是我尝试用递归来写,应该是一个排列组合问题。原创 2023-02-26 12:48:06 · 280 阅读 · 0 评论 -
Uva156:反片语Ananagrams(详解包看懂)
用map来判断单词重复次数即可完美解决这道题原创 2023-02-24 16:23:44 · 150 阅读 · 0 评论 -
Uva10815:安迪的第一个字典 Andy‘s First Dictionary(详解包看懂)
用一个set数组便可完美解决这个问题,算是对set用法的一个巩固和相关知识的一个回顾原创 2023-02-23 17:38:11 · 367 阅读 · 0 评论 -
Uva101:木块问题(包看懂)
关于木块问题全部执行过程图示,以及代码原创 2023-02-23 12:37:23 · 886 阅读 · 4 评论