自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 图论500题

=============================以下是最小生成树+并查集======================================  【HDU】  1213        How Many Tables         基础并查集★  1272        小希的迷宫           基础并查集★  1325&&poj1308   Is It A

2017-07-26 13:11:29 441

原创 计算机操作系统(第四版)之文件管理、磁盘存储器的管理要点梳理

文件管理文件和文件系统文件的逻辑结构文件目录文件共享文件保护磁盘存储器外存的组织方式文件存储空间的管理提高磁盘I/O速度的途径提高磁盘可靠性的技术数据一致性控制文件管理在操作系统中增加文件管理功能,专门管理在外存上的文件,并把对文件的存取、共享和保护等手段提供给用户。文件和文件系统文件系统的管理功能,是通过把它所管理的程...

2018-08-01 23:20:26 832

原创 计算机操作系统(第四版)之输入输出系统要点梳理

输入输出系统输入输出系统

2018-08-01 22:39:14 1181

原创 计算机操作系统(第四版)之虚拟存储器要点梳理

虚拟存储器虚拟存储器虚拟存储器概述请求分页存储管理方式虚拟存储器概述虚拟存储器实现了内存扩充功能。但该功能并非是从物理上实际地扩大内存的容量,而是从逻辑上实现对内存容量的扩充。 第四章所介绍的各种存储器管理方式有一个共同的特点,即它们都要求将一个作业全部装入内存后方能运行。于是,出现了下面这样两种情况: 1)有的作业很大,其所要求的内存空间超过了内...

2018-07-31 23:52:17 1393

原创 计算机操作系统(第四版)之存储器管理要点梳理

存储器管理存储器管理存储器的层次结构程序的装入和链接存储器的层次结构多层结构的存储器系统存储器的多层结构。 存储层次至少应具有三级:最高层为 CPU 寄存器,中间为主存,最底层是辅存。还可以根据具体的功能分工细划为寄存器、高速缓存、主存储器、磁盘缓存、固定磁盘、可移动存储介质等 6 层。在存储层次中越往上,存储介质的访问速度越快,价格也越高,相...

2018-07-30 17:08:28 5803

原创 计算机操作系统(第四版)之处理机调度与死锁要点梳理

处理机调度与死锁处理机调度与死锁处理机调度的层次和调度算法的目标作业与作业调度进程调度实时调度死锁概述处理机调度的层次和调度算法的目标处理机调度的层次高级调度。 又称长程调度或作业调度。它的调度对象为作业,只适用于多道批处理系统中,不适合实时和分时系统。低级调度。 又称进程调度或短程调度。它的调度对象为进程或内核级线程,适用于所有类型...

2018-07-27 23:29:10 1799 3

原创 计算机操作系统(第四版)之进程要点梳理

进程的描述与控制前驱图和程序执行前驱图:一种DAG,描述进程之间执行的前后关系。 程序的顺序执行: 顺序性、封闭性、可再现性 程序的并发执行: 间断性、失去封闭性、不可再现性进程的描述进程的定义: 1. 系统利用 PCB(进程控制块)来描述进程的基本情况和活动过程,进而控制和管理进程。 2. 由程序段、相关的数据段和 PCB 三部分构成进程实体。一般将进程实体简...

2018-07-21 01:24:47 470

原创 计算机操作系统(第四版)之引论要点梳理

操作系统引论OS的目标和作用OS的目标: 1.方便性 2.有效性 3.可扩充性 4.开放性OS的作用: 1.OS 作为用户与计算机硬件系统之间的接口。 2.OS 作为计算机系统资源的管理者。 对处理器、存储器、I/O 设备以及文件(数据和程序)这四类资源进行有效的管理。 3.OS 实现了对计算机资源的抽象。 把在裸机上覆盖了一层 I/O 设备管理软件的机器称为扩充机器或虚...

2018-07-09 12:07:43 593

转载 CSS 实现与父元素的高度宽度比成比例的效果

item 元素的 CSS 定义如下:.item { float: left; margin: 10px 2%; width: 21%;}这时遇到的一个需求:在保持 item 元素宽高比恒定(如高是宽的 1.618 倍)的情况下,使得 item 元素可以和父元素同比缩放。 我们知道,如果当 item 元素是图片,同时需要保持的宽高比恰好为图片本身的宽高比时,可以设置 item 的 h...

2018-06-22 02:18:04 1675

原创 dfs序 & 欧拉序

dfs序:s[u]: dfs时进入u节点子树时的时间戳;s[v]: dfs时离开u节点子树时的时间戳.欧拉序:E[i]: 第i时间访问到的节点R[u]: 节点u被访问到的第一时间Question:给定树形图,然后q次询问,问点u是否是点v的父节点。Answer:通过dfs序判断v节点的时间区间是否在u节点的时间区间内。通过欧拉序判断u和v的最近公共祖先是否是u。Code1:#include &lt...

2018-05-29 11:47:11 776 1

原创 Apriori算法学习以及Python代码实现

最近在学数据挖掘,学完Apriori算法之后就一直想用代码实现出来,于是学了几天python之后,进行了实现...概念介绍转:https://www.cnblogs.com/llhthinker/p/6719779.htmlPython是看廖雪峰网站学的:https://www.liaoxuefeng.com/直接贴代码,代码中有自己的解释。'''# Filename: MyApriori.py...

2018-05-20 00:49:25 9618 9

原创 Codeforces-984C - Finite or not?(数论)

题意:给定p,q,b,问p/q能否表示成b进制下的有限小数形式(p,q,b <= 1e18)思路:对于约分后的p/q,只需关心1/q是否能在b进制下有限表现即可。把1/q换成小数形式,例如1/8 = 0.125,像整数转换进制一样,小数转换进制也是不断地除以进制的基,而小数的基是b^-1。则0.125转换为二进制过程如下,0.125(除2^-1)-->余0商0.25(除2^-1)--&...

2018-05-16 20:57:13 304

原创 QDU易途杯B-(2016NOIP)组合数问题

题目描述组合数 C_n^mCnm​ 表示的是从 nn 个物品中选出 mm 个物品的方案数。举个例子,从 (1,2,3)(1,2,3) 三个物品中选择两个物品可以有 (1,2),(1,3),(2,3)(1,2),(1,3),(2,3) 这三种选择方法。根据组合数的定义,我们可以给出计算组合数 C_n^mCnm​ 的一般公式:C_n^m=\frac{n!}{m!(n-m)!}Cnm

2018-05-05 16:05:59 221

原创 ZOJ-4019 18th浙江省赛F.Schrödinger's Knapsack(dp)

题意:给两个序列s1,s2,每个序列都有一个系数k1,k2,现在有一个总容量c,要求从这两个序列中取数,使得最后的价值最大。每个数放进背包之后获得的价值为(当前容量-这个数占的容量)*当前序列的系数。 思路:已知总数n和m较小,易知每个序列放入背包的顺序应该是从小到大的,所以dp[i][j]表示将s1序列的第1...i数和s2序列的第1...j数放入背包时取得的最大价值。s[i][j]

2018-04-30 16:28:11 138

原创 Codeforces-959D Mahmoud and Ehab and another array construction task(贪心)

题意:给定数组a,求大于或者等于数组a字典序的数组b,满足任意i,j,gcd(bi, bj) = 1。并且是在所有满足条件中的字典序最小的一个。思路:任意一对数互质,可以通过标记其质因子来解决,在找到第一个违背互质的数时,只需要找出大于该数的最小的一个与前面所有数互质的数,在此之后,要想保证字典序最小,便是所有可用的质数从小向大取。代码:#include using name

2018-04-30 16:17:21 385

原创 SenseTime Ace Coder Challenge 暨 商汤在线编程挑战赛-白色相簿

题意:给定无向图,n个点,m条边,判断图中是否存在三元环。(n 思路:计数三元环的复杂度是mlogm,在这里1s跑不过。尝试通过bitset记录每个点的连边状态,再通过任意相连两点进行 & 操作判断,内存会爆掉。可以通过一次bfs,给遍历的到的每个点确定一个父亲节点,画图可知,三元环中任意一点作为父节点,都可以给其余两个点标上相同的父节点。然后遍历所有边,判断两个端点是否有共同的父

2018-04-15 14:13:03 227

原创 2018 蓝桥杯省赛 方格计数 & 复数幂

标题:方格计数  如图p1.png所示,在二维平面上有无数个1x1的小方格。  我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。  你能计算出这个圆里有多少个完整的小方格吗?   注意:需要提交的是一个整数,不要填写任何多余内容。  只看第一象限,圆心为(0,0),然后遍历第一象限圆内的所有点( i, j ),当且仅当这个点的左上角到圆心的距离小于半径

2018-04-15 13:27:37 3405

原创 2018蓝桥杯Java-B组 测试次数

题意:x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。如果手机从第7层扔下去没摔坏,但第8层摔

2018-04-04 19:39:52 1577 3

原创 蓝桥杯-扑克序列(Java全排列的实现)

A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。请填写出所有符合要求的排列中,字典序最小的那个。例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。请通过浏览器提交答案。“A”一定不要用小写字母a,也不要用“1”代替。字符间一定不要留空

2018-03-31 22:19:52 334

原创 计蒜客蓝桥B组模拟赛五-F. 藏宝图

蒜头君得到一张藏宝图。藏宝图是一个 10 \times 1010×10 的方格地图,图上一共有 1010 个宝藏。有些方格地形太凶险,不能进入。整个图只有一个地方可以出入,即是入口也是出口。蒜头君是一个贪心的人,他规划要获得所有宝藏以后才从出口离开。藏宝图上从一个方格到相邻的上下左右的方格需要 11 天的时间,蒜头君从入口出发,找到所有宝藏以后,回到出口,最少需要多少天

2018-03-30 17:56:32 124

原创 计蒜客蓝桥B组模拟赛五-C. 连连看

连连看是一款非常有意思的游戏。我们可以把任意两个在图的在边界上的相同的方格一起消掉,比如把两个 44 消掉以后,每次消掉两个方格的时候,都有会获得一个分数,第 ii 次消的分数为 i \timesi× 方格的值。比如上面的消法,是第一次消,获得的分数为 1 \times 4 = 41×4=4。请你帮忙最优操作情况下,获得的分数最多为多少。

2018-03-30 16:27:10 119

原创 Java中PriorityQueue的学习

API1.构造函数PriorityQueue()PriorityQueue(Collectionextends E> c)PriorityQueue(int initialCapacity)PriorityQueue(int initialCapacity, Comparatorsuper E> comparator)PriorityQueue(PriorityQueuee

2018-03-29 21:30:38 184

原创 Java中TreeSet的学习

增删改查时间复杂度为log(n),详细学习推荐:Java 集合系列17之 TreeSet详细介绍(源码解析)和使用示例// 实现代码import java.util.Iterator;import java.util.TreeSet;public class TestTreeSet { public static void main(String[] args) {

2018-03-29 17:12:00 117

原创 Java中HashSet的学习

HashSet是非同步的,允许使用null元素。如果多个线程同时访问一个Hashset,而其中至少一个线程修改了该set,那么它必须保持外部同步。这通常是通过对自然封装该set的对象执行同步操作来完成的。如果不存在这样的对象,则应该使用 Collections.synchronizedSet方法来“包装”set。最好在创建时完成这一操作,以防止对该set进行意外的不同步访问:Set s = C

2018-03-29 16:51:55 109

原创 Java中Hashtable的学习

Hashtable源码及详细介绍:Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例首先,可以用HashMap完全代替Hashtable的使用,Hashtable是比较老的集合了,它继承于Dictionary。较HashMap的不同在于它是线程安全的,而且它支持通过Enumeration去遍历。Enumeration接口是Iterator迭代器的“古老版本”

2018-03-24 17:43:31 173

原创 Java中HashMap的学习

HashMap源码及详细介绍:Java 集合系列10之 HashMap详细介绍(源码解析)和使用示例HashMap是一个散列表,存储的内容是键值对(key-value)映射,其实现不是同步的,这意味着它不是线程安全的,其映射也不是有序的。对于HashMap(不管哪种容器),在设置初始容量时应该考虑到映射中所需的条目数及其加载因子,以便最大限度地减少 rehash 操作次数。如果初始容量大于

2018-03-22 16:54:31 121

原创 Java中LinkedList的学习

LinkedList源码及学习:Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例Java怎么使用栈和队列:java中栈和队列的实现和API用法// 代码实现import java.util.Iterator;import java.util.LinkedList;public class LinkedListTest { public static

2018-03-21 16:37:44 117

原创 PAT-1143 Lowest Common Ancestor(二分寻找BST的LCA)

题意:给定一颗二叉搜索树的前序序列,然后给定两点u, v,寻找其LCA。思路:最直接的思路就是建树,然后寻找Lca,可以发现对于BST上的当前节点,如果其key小于两点u,v中较小的,则u和v的Lca必定会在当前节点的右子树上;如果其key大于两点u,v中较大的,则u和v的Lca必定会在当前节点的左子树上。所以这种想法可以很容易实现并且具有较好的复杂度。但是交题只能过前两组测试点,后三

2018-03-18 23:34:53 448 2

原创 Java this的作用、equals和==的区别、instanceof和isInstance区别

1. java中this关键字的作用一、this关键字主要有三个应用: (1)this调用本类中的属性,也就是类中的成员变量; (2)this调用本类中的其他方法; (3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。Public Class Student {  String name; //定义一个成员变量name private void SetN

2018-03-14 22:16:28 280

转载 java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一

对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java 泛型详解、Java中的泛型方法、 java泛型详解1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定

2018-03-14 22:10:54 77

转载 Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)

概要前面,我们已经学习了ArrayList。接下来,我们以ArrayList为例,对Iterator的fail-fast机制进行了解。内容包括::1 fail-fast简介2 fail-fast示例3 fail-fast解决办法4 fail-fast原理5 解决fail-fast的原理转载请注明出处:http://www.cnblogs.com/skyw

2018-03-12 15:08:45 89

原创 PAT甲级-1135 Is It A Red-Black Tree

主要是要理解红黑树的定义:There is a kind of balanced binary search tree named red-black tree in the data structure. It has the following 5 properties:(1) Every node is either red or black.(2) The root is bl

2018-03-11 12:18:51 227

转载 linux内核数据结构之avl树.

写在前面的话:   linux 内核中数据结构的存储已经不在用avl树,我在对应的代码中也没有找到实现,应该是内核中全部用rbtree替换了.zebos中avl树的实现相对较复杂,考虑了临时缓冲等多种因素,不适合作为初学者理解avl树的入门代码,因此,在网络上找到两篇姐姐avl树的文章,讲的很透彻了,以此作入门.理解其它avl树的代码应该很容易了. 正文理解:

2018-03-10 12:07:03 156

转载 快速排序算法原理及实现(单轴快速排序、三向切分快速排序、双轴快速排序)

1. 单轴快速排序的基本原理快速排序的基本思想就是从一个数组中任意挑选一个元素(通常来说会选择最左边的元素)作为中轴元素,将剩下的元素以中轴元素作为比较的标准,将小于等于中轴元素的放到中轴元素的左边,将大于中轴元素的放到中轴元素的右边,然后以当前中轴元素的位置为界,将左半部分子数组和右半部分子数组看成两个新的数组,重复上述操作,直到子数组的元素个数小于等于1(因为一个元素的数组必定是有

2018-02-20 19:29:14 149

转载 Collections.sort()和Arrays.sort()的算法实现

Arrays.sort()先来看看Arrays.sort();,一点进这个方法会看到是这样子的public static void sort(int[] a) { DualPivotQuicksort.sort(a, 0, a.length - 1, null, 0, 0);}123果然没这么简单,DualPivotQuicksort翻译过来就是双轴快速排序,关于双轴

2018-02-20 19:24:53 228

转载 ArrayList详细介绍(源码解析)和使用示例

这一章开始,我们对Collection的具体实现类进行讲解;首先,讲解List,而List中ArrayList又最为常用。因此,本章我们讲解ArrayList。先对ArrayList有个整体认识,再学习它的源码,最后再通过例子来学习如何使用它。内容包括:第1部分 ArrayList简介第2部分 ArrayList数据结构第3部分 ArrayList源码解析(基于JDK1.6.0_45)

2018-02-19 18:53:06 464

转载 UML各种关系线的含义

内容目录:从一个示例开始类之间的关系时序图附录:《图说设计模式》看懂UML类图和时序图这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对 日常的工作和交流; 同时,我们应该能将类图所表达的含义和最终的代码对应起来; 有了这些知识,看后面章节的设计模式结构图就没有什么问题了;

2018-02-19 14:54:09 884

转载 Java 中 Comparable 和 Comparator 比较

本文,先介绍Comparable 和Comparator两个接口,以及它们的差异;接着,通过示例,对它们的使用方法进行说明。 Comparable 简介Comparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。  即然实现Comparable接口的类支持排序,假设现在存在“实现Comparable接口的类的对象的List列表(或数组)”,则该List列表(...

2018-02-19 14:22:44 122

原创 Java的TreeMap和HashMap的介绍和使用

1. TreeMap的介绍和使用第1部分 TreeMap介绍TreeMap 简介TreeMap 是一个有序的key-value集合,它是通过红黑树实现的。TreeMap 继承于AbstractMap,所以它是一个Map,即一个key-value集合。TreeMap 实现了NavigableMap接口,意味着它支持一系列的导航方法。比如返回有序的key集合

2018-02-12 15:04:23 5032

原创 Codeforces Round #453 (Div. 2)...

A(水题)#include using namespace std;struct node { int x, y; bool operator<(const node k) const { return x < k.x; }} a[105];int main(){ int n, m, x, y; cin >> n >> m; for(int i = 0; i < n;

2018-01-25 16:08:24 163

提示
确定要删除当前文章?
取消 删除