基础算法
文章平均质量分 68
江盈月皓
编程爱好者,对各种技术保持兴趣和不懈的探索精神
展开
-
道路建设java
这是一个有趣的题目,我们来详细分析题目的解法描述H 国有 n 座城市和 n-1 条无向道路,保证每两座城市都可以通过道路互相到达。现在 H 国要开始施工,施工分若干个阶段,第 i 个阶段会建设无向道路 (x,y),当且仅当存在一个数 z,满足 x ≠ z, x ≠ y, z ≠ y,且在第 i-1 个阶段后,存在无向道路 (x,z), (z,y).现在 H 国的国王想知道,在几个阶...原创 2018-07-18 23:22:52 · 808 阅读 · 0 评论 -
嵌入式UCOS系统的O(1)调度算法优化
经典算法的再优化学习过嵌入式系统的人,应该大都学习过一个嵌入式操作系统UCOS,在这个系统中,有一个经典的O(1)复杂度的调度算法。该算法用于从就绪的任务中找到优先级最高的就绪任务,然后把执行的权利交给这个线程。关于该算法的细节有兴趣的可以去阅读嵌入式操作系统的相关知识.下面我们把这个问题抽象成一个简单的算法问题来描述。问题的本质:求一个8bit的BYTE形变量的bit位中,从低到高第一个...原创 2018-07-25 00:30:25 · 653 阅读 · 0 评论 -
数字游戏2
在做一道hihocoder上的题目的时候,开始的时候一时间没有想出来这里写博客理一下思路。 题目内容: 小 Hi 有一个数字 k,小 Hi 可以对他进行多次变换:每次变换选择 k 的一个大于 1 的约数 d,然后将 k 变成 k/d 现在小 Hi 想将一个数字变成 1,求操作的方案数。由于方案数可能过大,你只需要输出方案数对 10的9次方+7 取模后的值。 例如对于k=10,有三种方案:1...原创 2018-07-15 22:29:00 · 264 阅读 · 0 评论 -
树的直径
关于树的直径的求解算法树的直径的定义:树中最长的简单路径。下图中的从1 → 4 → 6 → 8的路径,便是该树的直径。求树的直径的算法简单的描述为两步:(1) 任选一点,以该点为起点计算得到离自己最远的点。(2) 用(1)步求得的点为起点,计算离起点最远的点,这两点间的距离即为树的直径。简单的证明(非严格数学证明)从树的直径的求解算法中,第一步是任选一点,然后找...原创 2018-07-30 22:54:02 · 268 阅读 · 0 评论 -
hihocoder好的数字串
描述给定一个数字字符串S,如果一个数字字符串(只包含0-9,可以有前导0)中出现且只出现1次S,我们就称这个字符串是好的。 例如假设S=666,则1666、03660666是好的,6666、66、123不是好的;假设S=1212,则01212、12123是好的,121212、121是不好的。请你计算长度为N的数字字符串中,有多少个是好的。由于总数可能很大,你只需要输出总数模10000...原创 2018-08-24 23:15:10 · 296 阅读 · 0 评论 -
战舰日常任务hihocoder --优先级队列使用技巧
描述小Hi最近在玩一款游戏。他在游戏中一共建造了N艘战舰。这N艘战舰分属6种不同的类别:航空母舰(CV)、驱逐舰(DD)、轻型巡洋舰(CL)、重型巡洋舰(CA)、战列舰(BB)和战列巡洋舰(BC)。此外每艘战舰还有两个属性,一个是战舰等级另一个是战舰的战斗力。 每天系统都会委派M件日常任务给小Hi。每件任务都对执行该任务的战舰种类、数量和等级有要求。具体来说我们可以用7个数字(A, B,...原创 2018-09-12 22:21:05 · 297 阅读 · 0 评论