自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

taotao 的大学墓志

keep thinking! keep learning!

  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 LeetCode Weekly Contest 82-AK solution

不得不说 leetCode 比ACM 温和多了,很适合退役ACMer选手,居然我也能AK比赛,当然代码还是有点挫的,比不了手速大佬18 mins AK。比赛链接(PS: 如果你也对此比赛感兴趣,不妨联系我,每周一起打结个伴…. email: zouzhitao_cq@163.com)Goat LatinFriends Of Appropriate AgesMost Profit Assignin

2018-04-29 11:35:00 337

原创 hihocoder 1368 积水的城市2(离散化+dijstra)

题目链接hihocoder 1368 积水的城市2分析这个题最大的突破口在 积水点 很少 小于30, 也就是说,这个图中大部分点是没用的,只需记录这30个点和他旁边的点就好,这不就是离散化吗??关于离散化,不得不说 matrix67,写的很到位。matrix67 离散化其实二维离散化与一维一点区别也没有啊,我们完全可以将点的坐标沿着X,Y轴离散化后,再在两个轴中找到具体二维点的定位,e.g : X

2018-04-27 20:47:53 240

原创 08-图8 How Long Does It Take(25 分)(关键路径,java)

题目链接08-图8 How Long Does It Take(25 分)分析其实就是求最长路,记忆化一下就好了codeimport java.io.BufferedInputStream;import java.util.ArrayList;import java.util.Arrays;import java.util.Scanner;public class Main { pu

2018-04-25 19:24:22 374

原创 操作系统笔记:(十一)死锁及银行家算法实现

本文讲解操作系统的死锁,主要分为以下几个部分:资源分配图死锁特征死锁处理 死锁预防死锁避免死锁检测死锁恢复银行家算法实现资源分配图资源分配图就是用圆圈和方块分别表示进程和资源,资源中的小圆点的个数表示资源数目,如下图 其中从一个进程指向一个资源的边称为等待边,也叫申请边,就是申请一个资源; 而从一个资源指向进程的边称为占有边,也叫分配边,表示这个资源...

2018-04-25 17:05:28 577

原创 操作系统笔记:(十续) 哲学家就餐问题(java 实现)

关于哲学家就餐问题的完整解答可参见:Dining philosophers problem里面列出了3种解法:服务生解法资源分级解法Chandy/Misra solution这里会陆续给出3种解决方案服务生解法一个简单的解法是引入一个餐厅服务生,哲学家必须经过他的允许才能拿起餐叉。因为服务生知道哪只餐叉正在使用,所以他能够作出判断避免死锁。为了演示这种解法,假设哲学家依次标号为A至E。如果A

2018-04-23 16:43:09 1459

原创 操作系统笔记:(十)管程

这一节是操作系统进程同步问题的最后一节,主要总结一下关于管程的相关概念。关于进程同步问题的其他解决方法可参见:操作系统笔记:(0)学堂在线Thu MOOC笔记目录 中的八,九讲。我们依然通过一下几部分来讲解管程:管程引入条件变量Hansan管程与Hoare管程管程解决生产者消费者问题java中的管程管程解决哲学家就餐问题管程引入首先回顾一下上一篇blog中的进程同步解决图信号量作为高层

2018-04-17 23:35:24 6112

原创 操作系统笔记:(九)信号量与经典同步问题

这节讲解操作系统用信号量机制解决同步问题,先讲解他的基本实现,然后在讲解用信号量机制解决经典的同步问题:生产者消费者问题读者写者问题哲学家就餐问题主要讲的进程同步方法如下,这一节讲信号量,下一节讲解管程remark 这一节进程和线程的概念通常是互通的,不加详细区分,仅作为CPU的调度单位信号量是什么信号量是os提供的管理同步问题的一种手段,具体来说,他有一个整数变量记录当前可供使用的标记信号

2018-04-16 20:23:14 1252

原创 操作系统笔记:(八)进程同步

有关进程同步的问题,我主要分3节来表述,第一节就是本节主要讲一些底层的同步方法: 禁用中断,软件方法,锁机制。第二节即下一节主要是讲信号量机制,第三节主要讲管程机制本节内容组织如下:同步互斥的背景同步互斥的解决方案,禁用中断,软件方法,锁机制同步互斥的背景如果程序之间是独立的,没有并发的,那么肯定不会出现同步互斥问题。由于引入了操作系统对进程的调度,特别是中断机制允许在任何时候发生中断切换到下

2018-04-13 15:27:38 551

原创 PTA 06-图3 六度空间(30 分)(java实现)

题目链接06-图3 六度空间(30 分)分析简单的bfs,居然直接暴力就ok了,完了之后还非常之快……code/** * */package oj;import java.io.BufferedInputStream;import java.io.IOException;import java.io.InputStream;import java.util.*;/** * @aut

2018-04-11 20:37:58 730

原创 CPU访存过程

操作系统管理的是虚拟存储,在操作系统笔记:(三)虚拟内存分配我曾谈过虚拟存储,即OS将逻辑地址转化为物理地址的过程,这部分是软件(OS)完成的,实际上,在硬件层我们还有Cache缓存做命中工作,提高访问效率,两者结合就构成了CPU的完整访存过程。简单的说,分以下几步:操作系统的存储管理(虚拟存储)将逻辑地址转化为物理地址(这里面也有缓存,TLB页表缓存)看Cache能否命中,命中则直接访存,否则

2018-04-10 09:28:19 6090

原创 操作系统笔记:(七)CPU 调度

本节讲CPU调度,分为如下三个部分:基本概念调度准则调度算法基本概念进程执行总是有CPU执行和I/O 等待周期组成的,也就是有下面的这个图回忆在第5节笔记中讲的进程的三状态模型, CPU调度决策可在如下的决策中发生:运行切到等待(e.g.: I/o请求 )进程终止 运行到就绪(e.g.: 中断,抢占,时间片到期)等待到就绪 (e.g.: I/O 完成)前两种没有选择只能调度, 不过

2018-04-09 19:36:22 508

原创 PTA 05-树9 Huffman Codes(Huffman 树构造,暴力判前缀)

题目链接05-树9 Huffman Codes(30 分)分析Huffman树暴力判断就可code#include <bits/stdc++.h>using namespace std;#define MAXN 10100#define INF 0x3f3f3f3ftypedef long long LL;std::map<char, int> mp;int n,m;struct Node{

2018-04-06 17:32:43 714

原创 PTA 05-树8 File Transfer(并查集模板题)

题目链接05-树8 File Transfercode#include <bits/stdc++.h>using namespace std;#define MAXN 10100#define INF 0x3f3f3f3fint fa[MAXN];int FIND(int x){ return fa[x]==x?x : fa[x] = FIND(fa[x]);}void UNION(i

2018-04-04 19:25:08 352

原创 操作系统笔记:(六)线程

本文讲解线程相关模型,先用一个例子讲解为什么需要引入线程,然后讲解线程的概念,最后讲解用户线程和内核线程本文内容组织如下:线程的引入用户线程内核线程线程的引入考虑一个播放器的程序,那么我们可以怎么实现呢,先看,单进程的实现方法: 这里面会存在两个问题:Read(),函数主要时间开销是在 I/O,Decompress(),时间开销主要在CPU,让CPU等待影响资源效率读的时间开销如果很大

2018-04-04 16:08:59 269

原创 操作系统笔记:(五)进程

本文主要讲解进程的组成,PCB,及状态模型本文安排结构如下:进程的基本概念: 主要讲进程的是什么,特点,及与程序的区别进程控制块(Process Control Block, PCB)进程的状态模型进程的基本概念非正式的说法就是进程就是执行中的程序, 活动实体。进程的组成包含程序执行时的所有状态信息:codedata状态寄存器(e.g.: CR0,IP)通用寄存器进程占用的系统资源

2018-04-04 14:49:13 446

原创 PTA 05-树7 堆中的路径

题目链接PTA 05-树7 堆中的路径分析手写堆插入debug了好一会儿,为了不用每次都交换,让 fafa 与插入值val比较,记住这时val并没有写到 ii的位置code#include <bits/stdc++.h>using namespace std;#define MAXN 1010#define INF 0x3f3f3f3fint a[MAXN];int sz =1;void

2018-04-03 19:42:07 337

原创 操作系统笔记:(四) 页面置换算法

本篇文章简要总结虚拟存储中的页面置换算法,结构组织如下:相关概念局部置换算法全局置换算法相关概念设计目标减少页面 swap in/out 次数把未来不在访问或者短期内不在访问的页调出页面锁定有些页是不用调出的描述必须常驻内存中的逻辑页OS 的关键部分要求响应速度的 code/data页表项中的锁定页(lock bit)评价方法记录访存的页面轨迹(编号)模拟/记录缺页次数

2018-04-02 21:24:31 503

原创 操作系统笔记:(0)学堂在线Thu 操作系统笔记目录

这是个人在准备考研期间看Thu 的OS MOOC 所做的笔记,不过由于个人非科班出生,所识有限,望各位来往路人多多指正。写这些文章主要为了给自己留个备份。Thu 学堂在线MOOC目录操作系统笔记:(一)物理内存分配1:连续内存分配 操作系统笔记:(二)物理内存分配2:非连续内存分配 操作系统笔记:(三)虚拟内存分配

2018-04-02 16:20:14 1350 1

原创 操作系统笔记:(三)虚拟内存分配

本文介绍虚拟存储(虚拟存储分虚拟页式和段式,本文主要将页式,下面如不特别说明均指页式)的需求背景,概念,原理及缺页异常的处理流程 主要分为以下三部分:需求背景虚拟存储的原理特征缺页异常的处理流程需求背景存储需求: 程序所需的存储空间越来越大存储体系结构: 这个在计算机组成原理里面学过,不同层次之间的访问时间差了几个数量级操作系统(Operating System, OS)对内存的抽象

2018-04-02 16:09:06 1073

原创 PTA Complete Binary Search Tree(完全二叉树的构造)

题目链接ZJU 数据结构课程04-6构造完全二叉树 https://pintia.cn/problem-sets/951072707007700992/problems/977489256881188864分析很简单,自顶向下,递归构造就好 O(nlogn);code#include<bits/stdc++.h>using namespace std;#define pb push_back

2018-04-01 19:31:02 456

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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