动态规划--流水作业调度问题

n个作业{1,2,3,4....n} 要在 2 台机器M1 M2组成的流水线上完成加工。每个作业加工的顺序都是先在M1上加工完毕后 再在M2上加工,M1和M2加工作业i 分别需要时间为 ai 和 bi。 1<=i<=n; 流水作业调度问题要求确定这n个作业的最优加工顺序,最优条件是(从第一个作业在M ... »

[SCOI2015] 情报传递

题目描述 奈特公司是一个巨大的情报公司,它有着庞大的情报网络。情报网络中共有 n 名情报员。每名情报员可能有若干名 (可能没有) 下线,除 1 名大头目外其余 n−1 名情报员有且仅有 1 名上线。奈特公司纪律森严,每名情报员只能与自己的上、下线联系,同时,情报网络中任意两名情报员一定能够通过情报网 ... »

[AHOI2005] 航线规划

Description 对Samuel星球的探险已经取得了非常巨大的成就,于是科学家们将目光投向了Samuel星球所在的星系——一个巨大的由千百万星球构成的Samuel星系。 星际空间站的Samuel II巨型计算机经过长期探测,已经锁定了Samuel星系中许多星球的空间坐标,并对这些星球从1开始编 ... »

考研王道数据结构-顺序表(综合应用2)

本节代码主要来自王道单科18页的综合应用题。 四、从有序顺序表中删除其值在给定值s与t之间(要求s<t)的所有元素。如果s与t不合理或者顺序表为空则显示出错信息并退出运行 找到第一个比s大的元素的位置。(和下面那道题的区别就是是否有序) 核心代码: 也可以不用count统计个数,不用新定义k来遍历。 ... »

考研王道数据结构-顺序表(综合应用1)

本节代码主要来自王道单科18页的综合应用题。 二、18页第2题。设计一个高效的算法,将顺序表的所有元素逆置,要求算法的空间复杂度为O(1) 核心代码: 可以有两种方式: 第一种:定义两个循环指针i,j,其中i向后遍历,j向前遍历,这种更好记忆。 第二种:j没有定义出来,用i和L.length(即L. ... »

[CF718C] Sasha and Array

Description 给定一个数列,维护两种操作 操作 $1$,将区间 $[l,r]$ 的数字统一加 $x$。 操作 $2$,求 $sum limits_{i=l}^r f(val[i])$,其中 $f(i)$ 表示斐波那契数列的第 $i$ 项。‘ 答案对 $10^9+7$ 取模。 Solut ... »

Leetcode解题思路总结(Easy篇)

终于刷完了leetcode的前250道题的easy篇。好吧,其实也就60多道题,但是其中的套路还是值得被记录的。 至于全部code,请移步 "github" ,题目大部分采用python3,小部分使用C,如有问题和建议,欢迎指正。 String 1. 有一个string库,可以返回各种string的 ... »

Java描述数据结构之链表的增删改查

链表是一种常见的基础数据结构,它是一种线性表,但在内存中它并不是顺序存储的,它是以链式进行存储的,每一个节点里存放的是下一个节点的“指针”。在Java中的数据分为引用数据类型和基础数据类型,在Java中不存在指针的概念,但是对于链表而言的指针,指的就是引用数据类型的地址。 链表和数组都是线性的数据结 ... »

经典面试题:二分查找/折半查找

思想: 适用于有序的顺序表; 给定值key,与表中中间的元素进行比较。如果相等,则查找成功;若不相等,如果key小于中间元素的关键字,则所需查找的元素在顺序表的前半部分,如果是大于,则所需查找的元素在顺序表的后半部分。在缩小的范围内继续同样的查找,一直重复直达找到位置,或者确定表中没有所需要查找的元 ... »

二分查找算法实现(图解)与实例

现在我们来玩一个猜数的游戏,假设有一个人要我们猜0-99之间的一个数。那么最好的方法就是从0-99的中间数49开始猜。如果要猜的数小于49,就猜24(0-48的中间数);如果要猜的数大于49,就猜74(50-99的中间数)。重复这个过程来缩小猜测的范围,直到猜出正确的数字。二分查找的工作方法类似于此 ... »

TOJ 数据结构实验--静态顺序栈

描述 创建一个顺序栈(静态),栈大小为5。能够完成栈的初始化、入栈、出栈、获取栈顶元素、销毁栈等操作。 顺序栈类型定义如下: typedef struct { int data[Max]; int top; }SqStack; 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。 int m ... »

线性结构与树形结构相互转换(ES6实现)

前言 当树形结构的层级越来越深时,操作某一节点会变得越来越费劲,维护成本不断增加。所以线性结构与树形的相互转换变得异常重要! 首先,我们约定树形结构如下: 线性结构: 特殊情况 上面的树形结构并不是很完美,当遇到菜单或者分类等业务场景时,每个顶级节点的parentId约定为0,当存在多个顶级节点,显 ... »

js数据结构之栈、队列(数据结构与拉火车游戏)

1.js实现队列的数据结构(先进先出) 2. js实现栈(先进后出) ***** 实现拉火车游戏 游戏约定如下: 1.首先给定相同数量的牌 2. 不同玩家轮流出牌 3.当出牌后,两张最近的相同牌之间的所有牌可以被当前玩家获取,获取后放在尾部 4.先出完牌的玩家输 *****定义玩家类 ******* ... »

广度优先(bfs)和深度优先搜索(dfs)的应用实例

广度优先搜索应用举例:计算网络跳数 图结构在解决许多网络相关的问题时直到了重要的作用。 比如,用来确定在互联网中从一个结点到另一个结点(一个网络到其他网络的网关)的最佳路径。一种建模方法是采用无向图,其中顶点表示网络结点,边代表结点之间的联接。使用这种模型,可以采用广度优先搜索来帮助确定结点间的最小 ... »

数据结构:数组、链表、栈、队列的理解

解释定义 数据结构: 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。再简单描述一下:数据结构就是描述对象间逻辑关系的学科。 如果还是不太清楚下面会举例说明的。 数据存储结构: 简单的讲就是数据在计算机中的存储方式。 常用的数据存储方式有两种:顺序存储,非顺序存储。顺序存储就是把数据存储 ... »

Map集合、散列表、红黑树介绍

前言 声明,本文用得是jdk1.8 前面已经讲了Collection的总览和剖析List集合: "Collection总览" "List集合就这么简单【源码剖析】" 原本我是打算继续将Collection下的Set集合的,结果看了源码发现: Set集合实际上就是HashMap来构建的 ! 所以,就 ... »

算法题丨4Sum

描述 Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array w ... »