0

数据结构篇——二叉树

引入 在数据结构中,将现实生活中的树根抽象为根节点(Root)树叉抽象为结点(Node),将叶子抽象为(Leaf),将树枝抽象为边(Edge),且一条边只用来连接两个结点,互为父子节点。 二叉树的性质 二叉树 1. 树可以没有结点,这种情况下把树称为 空树。 2. 树的 层次 从根节点开始算,即根节 ...

qmyc1999 发布于 2019-10-31 00:25 评论(0)阅读(25)
0

图论篇6——割点(关节点)

引入 连通图 ​ 在一个 无向图 $G$中,若从顶点$i$ 到顶点$j$有路径相连,则称 $i$和$j$是连通的。如果图中任意两点都是连通的,那么图被称作连通图。如果$G$是有向图,则称为强连通图(注意:需要双向都有路径)。如果是单向连通,则称$G$为单向连通图。 割点(关节点) ​ 在无向连通图$ ...

qmyc1999 发布于 2019-10-31 00:07 评论(0)阅读(29)
0

20191030-带返回值的回溯算法Leetcode解数独

题目描述 编写一个程序,通过已填充的空格来解决数独问题。 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 空白格用 '.' 表示。 一个数独。 答案被标成红色。 Note: ...

何发奋 发布于 2019-10-30 21:36 评论(0)阅读(21)
0

ArrayList 与LinkedList 的区别及分别的优缺点

ArrayList,与LinkedList都是属于实现了List接口的类。首先从名字前缀开始看 ,Array表示数组,Link表示链表。 所以ArrayList底层是基于动态数组的。而LinkedList底层是基于双向链表的。 ArrayList必须是连续内存的,而LinkedList不要求连续内存 ...

vibe 发布于 2019-10-30 19:22 评论(0)阅读(55)
0

2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest- H. Rikka with A Long Colour Palette -思维+贪心

"2018 2019 ACM ICPC, Asia Xuzhou Regional Contest H. Rikka with A Long Colour Palette 思维+贪心" 【Problem Description】 有$k$种颜色,给你$n$个区间段,选择一种合适的方案给每个区间段染色 ...

__Simon 发布于 2019-10-30 17:06 评论(0)阅读(24)
0

希尔排序

基本思想:先将整个待排序的记录序列分割成若干个子序列,分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录依次进行直接插入排序。 1)操作方法:选择一个增量序列t1,t2,...,tk,其中ti>tj,tk=1; 2)按增量序列个数k,对序列进行k趟排序; 3)每趟排序,根据对应的增 ...

MrHH 发布于 2019-10-30 11:32 评论(0)阅读(19)
1

差分约束算法————洛谷P4878 [USACO05DEC] 布局

题目: 不难看出题意主要是给出ml+md个格式为xi-xj<=ak的不等式,xi-xj为i,j俩头牛的距离,要我们求x1-xn的最大值。 经过上下加减我们可以将这几个不等式化成x1-xn<=a1+a2+a3+a4+....+ak,在这加减的过程中我们不难看到dijstra的身影,这加加减减的过程不正 ...

嘤嘤狂吠OVO 发布于 2019-10-29 20:59 评论(0)阅读(21)
0

leetcode不同路径

62. 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 来源:力扣(LeetCode)链接:https://leetcode-cn ...

TenFly 发布于 2019-10-29 14:13 评论(0)阅读(16)
0

CodeForces 1251A --- Broken Keyboard

【CodeForces 1251A Broken Keyboard 】DescriptionRecently Polycarp noticed that some of the buttons of his keyboard are malfunctioning. For simplicity, w ...

YLzcty 发布于 2019-10-29 13:21 评论(0)阅读(30)
0

【LeetCode】6. Z 字形变换

题目 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCI ...

WilsonPan 发布于 2019-10-29 12:12 评论(0)阅读(27)
0

CodeForces - 1214D D. Treasure Island

题目链接:https://vjudge.net/problem/2728294/origin 思路:可以抽象成管道,先试试能不能找到一个通道能通到终点, 如果可以则封锁这个通道,一个石头即可, 再试试能不能找到另一个通道能到达终点, 如果可以则再用一个石头封锁这个通道。 整个题目抽象成能不能找出两个 ...

SSummerZzz 发布于 2019-10-28 20:56 评论(0)阅读(29)
0

CodeForces - 1214D B2. Books Exchange (hard version)

题目链接:http://codeforces.com/problemset/problem/1249/B2 思路:用并查集模拟链表,把关系串联起来,如果成环,则满足题意。之后再用并查集合并一个链,一个链代表 一个集合,一个集合有共同的祖先,一个集合答案相同,则输出答案时候只需要输出该元素属于哪一个集 ...

SSummerZzz 发布于 2019-10-28 19:33 评论(0)阅读(35)
0

子字符串查找之————关于KMP算法你不知道的事

阅读本文前需要了解KMP算法的基本思路。另外,本着大道至简的思想,本文的所有例子都会做从头到尾的讲解 ...

脑热 发布于 2019-10-28 18:32 评论(0)阅读(153)
0

排序算法之桶排序

桶排序的基本思想:它就是把数组arr[]划分为N个大小相同的子区间(桶),每个子区间各自排序,最后合并。计数排序是桶排序的一种特殊情况,可以把计数排序当成每个桶里只有一个元素的情况。 步骤: 1.找出待排序数组中的最大值max、最小值min; 2.我们使用动态数组arraylist作为桶,桶里放的元 ...

MrHH 发布于 2019-10-28 15:12 评论(0)阅读(18)
0

《剑指offer》递推与循环,栈和队列,回溯 (牛客10.27)

| 难度 | 题目 | 知识点 | | : | : | | | | "07. 斐波那契数列" | 递推递归 两变量写法 | | | "08. 跳台阶" | 同上 | | | "09. 变态跳台阶" | dp | | | "10. 矩形覆盖" | 同上 | | | "05. 用两个栈实现队列" | 模 ...

武藏小次郎 发布于 2019-10-28 01:31 评论(0)阅读(30)
0

图论篇5——关键路径

引入 AOE网和AOV网 上一篇的拓扑排序中提到了AOV网(Activity On Vertex Network),与之相对应的是AOE网(Activity on edge network),即边表示活动的网。 AOV用顶点表示活动的网,描述活动之间的制约关系。 AOE是带权值的有向图,以顶点表示事 ...

qmyc1999 发布于 2019-10-27 23:13 评论(0)阅读(41)
0

精灵鼠从入口到出口最少减少速度(2019年哔哩哔哩校招真题)题解

题目以及输入输出描述: 题目很短。意思也很容易读懂。 题目要求就是 有一只老鼠,进入了一个迷宫,迷宫地图的大小为n*n。老鼠要从(起点)(0,0)坐标位置 到达 终点 (n-1,n-1)的位置。 老鼠的行动方式只有两种 —— 向下和向前。 每一个点都会让老鼠的速度降低(减少)。求老鼠到达终点的时候最 ...

vibe 发布于 2019-10-27 21:59 评论(0)阅读(63)
6

闭包还可以这样写?谈谈少儿编程工具的实现思路

诡异的代码 看看这段代码,很明显,是列举出100以内所有的质数。类似这样的程序我们从学程序开始写过很多。 再仔细看看,这种“语言”似乎有点像我们学过的其他语言,但似乎并没见过,语法有那么一点点古怪?! 哦!看到了,原来是一段Python! 上面代码的执行结果是 2,3,5,7,11,13,17,19 ...

窗户 发布于 2019-10-27 18:27 评论(11)阅读(2456)
0

C语言双指针之盛最多水的容器

题目描述 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少 ...

DiKa 发布于 2019-10-27 10:16 评论(0)阅读(21)
0

每日温度(LeetCode Medium难度算法题)题解

LeetCode 题号739中等难度 每日温度 题目描述: 根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。 例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, ...

vibe 发布于 2019-10-27 09:04 评论(0)阅读(49)