自定义博客皮肤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!

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

原创 LeetCode Weekly Contest 82-AK solution

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

2018-04-29 11:35:00 312

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

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

2018-04-27 20:47:53 218

原创 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 352

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

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

2018-04-25 17:05:28 550

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

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

2018-04-23 16:43:09 1421

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

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

2018-04-17 23:35:24 6062

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

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

2018-04-16 20:23:14 1211

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

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

2018-04-13 15:27:38 527

原创 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 703

原创 CPU访存过程

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

2018-04-10 09:28:19 5992

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

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

2018-04-09 19:36:22 441

原创 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 694

原创 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 325

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

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

2018-04-04 16:08:59 244

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

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

2018-04-04 14:49:13 420

原创 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 315

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

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

2018-04-02 21:24:31 469

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

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

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

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

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

2018-04-02 16:09:06 1026

原创 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 438

原创 AVLTree Java 实现

写在前面: 这是一份java实现avl Tree代码,便于供自己以后参阅,笔者java功底弱,实现的只是一个demo没有很好的封装。code/** * */package oj;import java.io.BufferedInputStream;import java.io.IOException;import java.io.InputStream;import java.util.*;impo

2018-03-29 20:35:25 394

原创 操作系统笔记:(二)物理内存分配2:非连续内存分配

本文组织结构如下:动机段式页式段页式非连续内存分配动机提高内存利用率(没有外碎片)允许程序使用非连续地址共享代码和数据动态加载和链接需要实现的依然是从逻辑地址到物理地址的转换。段式段式就是将内存分成很多个段,段与段之间不连续,但每个段是连续的。(e.g.: 代码段,数据段,堆栈段…)下图是一种硬件实现方式 逻辑地址是一个段号和段偏移,O...

2018-03-27 16:38:07 548

原创 操作系统笔记:(一)物理内存分配1:连续内存分配

remark: 这是我准备考研期间看学堂在线清华大学的OS MOOC的笔记,由于博主不是科班出身,所写错误可能很大,望大家指正.本文结构如下:计算机内存管理概述连续内存分配碎片整理e.g: 伙伴系统(Buddy System)计算机内存管理概述首先我们知道计算机的内存是分很多层次的,不同层次之间访存速度相差很大,(甚至达到几个数量级) MMU 工作原理介绍W...

2018-03-27 15:37:06 1841 1

原创 补码与负数转换取反加一原理

准备考研之际突然怀疑起了以前认为理所当然的事情……这里简要总结,补码与负数转换之间 “取反加1”的原理我们知道补码其实是用一个像钟表那样的数轴来标数,比如:末位为符号位。设我们要转化的数是 −x−x-x, 则 xxx 其实表示的是−x−x-x 在数轴上到原点的距离。又设 −x−x-x 的补码表示是 vvv,则有(v+x)%2n=0(n为补码数宽度)(v+x)%2n=0(n为补码...

2018-03-14 16:21:51 3312

原创 进制转换原理

大家都知道10进制整数转是 “乘基取整”,10进制小数转2进制是“除基取余”。可是中间的原理又是什么呢?应为任意进制都可以转化为10进制,10进制也可以转化为任意进制,因此这里简要以 10进制与 RR 进制之间的转化为例介绍一下进制转化原理。10进制整数转 RR进制设 (v)R=(knkn−1…k1k0)R=(x)10(v)_R = (k_nk_{n-1}\dots k_1k_0)_R = (x)_

2018-03-14 16:03:08 1947 1

原创 宋祖至崖山--中华史19《风流南宋》读后记

有幸拜读易中天先生的《中华史》 而今宋朝已经完了,崖山之后无中华,不知元明清后,又会是个怎样精彩的世界。我所知的宋也就易先生给我了解的而已,仅以此记录他给我了解的宋.宋共讲了3部 《大宋革新》、《王安石变法》、《风流南宋》,前两部主要关乎宋的政治,而后一步这是整个宋的经济、文化、思想、及南宋灭的经过。宋和唐给人的感觉是不同的,宋的版图很小,从太祖皇帝立宋以来就一直没有收复过幽云十六州(今北...

2018-03-13 14:24:46 821

原创 生成全排列----std::next_permutation 算法解析

今天遇到个问题,让用java写生成全排列,结果用惯了next_permutaion(),gg……这篇blog安排如下: 1. next_permutation 算法解析 2. 算法数学原理 why right?next_permutation我的系统里 STL里面的code是这样的template&lt;typename Iter&gt;bool next_perm...

2018-03-12 20:55:07 869

原创 5分钟latex 使用入门写llncs论文

写在前面其实这连入门都算不上. 用到这个工具其实来源于老师让我给springer投稿,要使用llncs 模板,有latex,和word。我word玩的太差了,索性就用latex吧,我想只要按照格式来都没撒问题的,就边写边学了一下。果然很适合我,不需要自己去配置什么硬编码了,需要什么搞个命令就行了。。。。撤多了,开始入门llncs(计算机会议论文模板)写论文。工具CTex 下个...

2018-03-06 21:18:17 4607

原创 hihocoder 1684 车队(LIS)

题目链接hihocoder 1684分析 裸的LIS, 可以发现最终车队一定单调递减,那么把序列反过来其实就是求LIS了. AC code#include #define INF64 0x3f3f3f3f3f3f3f3f#define pb push_back#define mp make_pair#define fi first#define se se

2018-01-14 14:39:33 361

原创 2017 ICPC 区域赛小记

上周结束了新疆最后一场区域赛 ,我的ICPC区域赛之行就完全结束了。今年参加了3场区域赛(本来我校队伍少,哪知今年6场打进了5场),都打的不尽人意。因此迟迟没有写写总结.西安这一场算是打的最烂的一场了.我们周四出发,先去南京玩了一天,然后晚上才和另外一枝去秦皇岛的队伍分道。另一个队友还在福州打CSP,我和MYY 是早上5.到的西安,算来这是第二次来这里了,下午逛了下芙蓉园,晚上去永兴坊吃了点小吃,才

2017-12-05 23:57:02 1061

原创 codeforces 894 D (DS)

题目链接D. Ralph And His Tour in Binary Country分析由于给出的是完全二叉树,那么我们可以预处理每颗子树的路径和,这样查询的时候就只需往上走 log nlog\ n 次就行了. 考虑合并的时候就可以只用把两个儿子节点用归并排序的思路合并就行. 我用的是库函数.比较trick 的是查询,开始一直没懂怎么查询我们从查询节点往父亲方向走,那么包含查询节点的子子树已经查询

2017-11-22 13:13:37 502

原创 CS Academy cube coloring(Burnside lemma)

题目链接Cube Coloring  nn 种颜色给正6面体着色,相邻面颜色不同,给出每种颜色可以着的面数,问本质不同的着色方案有多少种.即旋转一样视为相同.分析这题其实是裸的burnside lemma. 由于相邻的颜色不同,我们考虑使用的颜色数目,只会有四种情况. 6种颜色均不相同. 1种颜色相同. 2种颜色相同 3种颜色相同

2017-11-21 19:06:00 386

原创 codeforces 894 E(scc + dp)

题目链接E. Ralph and Mushrooms分析很显然如果在同一个连通分量内,它可以重复踩直到踩完.而重复踩,能踩到的蘑菇数可以预处理,然后二分求得.那么我们将它求强连通再缩点后,问题就简单了,求出每个scc的权值作为节点权值,然后dp就行.感觉本人代码有点搓,估计是很久没写过 scc缩点了,等会儿去看看大佬的姿势再更AC code#include <bits/stdc++.h>usin

2017-11-20 17:06:02 671

原创 polya 定理总结

公式 用cc 种颜色对 nn 个置换群G1,G2,…,GnG_1,G_2,\dots ,G_n着色,设每个置换群的循环节数为kik_i那么不同的着色总数 PG=1|G|∑ni=1ckiP_G = \frac{1}{|G|}\sum_{i=1}^n c^{k_i}常见置换群循环节总结 循环群 比如nn 颗珠子的项链,考虑绕中心旋转重合视为相同. 那么共有 nn 个循环群,其中每个循环群为:

2017-11-16 22:08:23 581

原创 Codeforces 888G XOR MST(分治)

题目链接Codeforces 888G XOR MST(分治)分析 这是很经典的问题,可以分治.  从最高位开始考虑,这些点一定分成两组,一组最高位为1,另外一组为0,两组之间选一条最小的边就行了,这个过程一可以分治,具体看代码,写的很详细AC code#include <bits/stdc++.h>using namespace std;#define ms(x,v) (memset((x)

2017-11-12 20:53:32 1358

原创 上下界网络流

AC code#include <bits/stdc++.h>using namespace std;#define ms(x,v) (memset((x),(v),sizeof(x)))#define pb push_back#define mp make_pair#define fi first#define se second#define INF 0x3f3f3f3ftype

2017-11-09 21:59:52 256

原创 GYM 100962F Problem F. Frank Sinatra(树上莫队+分块)

题目链接Problem F. Frank Sinatra分析这题和前面那个题唯一不一样的地方是,这题访问的是边上的,因此可以将边上的值算做入边顶点的值,这样就 u,vu,v 对应的区间就是 [dfl[u]+1,dfl[v]][dfl[u]+1,dfl[v]], 这样开个桶记录访问到的数就行了.code#include <bits/stdc++.h>using namespace std;#def

2017-11-09 20:11:22 537

原创 SPOJ Count on a tree II(树上莫队)

debug 到想吐....  各种撒比错误,一晚上就没有了,  总结如下几点:两个不同参数的数组,(n,m) 的最大值不一样,最好开到同样大树上莫队注意重复节点的拆分 树型数据简单生成技巧: * i rand()%i 树上莫队的桶是 (q[i].l/S) not u/S( saaaa…)题目链接Count on a tree II:分析 如果你学了树上莫队,对这题应该不会

2017-11-07 23:38:24 249

原创 loj #2053. 「HNOI2016」大数(莫队)

题目链接#2053. 「HNOI2016」大数分析记录后缀mod p的值,当且仅当两个后缀相等时候这时会 整除p 所以这就变成经典的莫队计数了,由于p很大离散化一下  注意p为2和5的时候特判一下AC code#include <bits/stdc++.h>using namespace std;#define ms(x,v) (memset((x),(v),sizeof(x)))#defi

2017-11-05 22:46:07 361

原创 loj #2051. 「HNOI2016」序列(莫队+ST+单调栈)

题目链接#2051. 「HNOI2016」序列求 l,rl,r 所有子集最小值和分析又是区间查询,上莫队了.首先想[l,r]-> [l,r+1] 它的增量是多少. 设[l,r+1] 的最小值的位置是 pp, 那么显然增加的贡献为 a[p]∗(p−l+1)+(r+1)为右端点的贡献a[p]*(p-l+1)+(r+1)为右端点的贡献, 设 sl[i]sl[i] 表示以 ii 为右端点的所有区间的贡

2017-11-03 22:28:01 597 2

空空如也

空空如也

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

TA关注的人

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