自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yxg_123的博客

笨还不努力 怎么不去死

  • 博客(14)
  • 资源 (10)
  • 收藏
  • 关注

原创 复杂状态的动态规划

最优配对问题: 空间里有n个点P0,P1,…,Pn-1,你的任务是把它们配成n/2对(n是偶数),使得每个点恰好在一个点对中。 所有点对中两点的距离之和应尽量小。  dp方程: d[i][S] 点0~i 的最优匹配,S为状态集合。 d[i][S] = min(d[i][j],dist(i,j)+d[i-1][S-{i}-{j}]);  集合 S 和 j

2016-11-11 20:01:10 294

原创 dp uva1218

题目链接 一共有三种状态:  1、d[u][0]:u是服务器,每个子结点可以是也可以不是。  2、d[u][1]:u不是服务器,但u的父亲是,u的子结点都不是服务器。  3、d[u][2]:u和u的父亲都不是服务器,u的子结点恰有一个是服务器。  三种状态的转移:  d[u][0]=∑min(d[v][0],d[v][1])+1 d[u][1]=∑d[v][2] d[u][2]

2016-11-11 19:03:06 171

原创 dp uva1220

题目链接 树的最大独立集问题 d(u,0) 表示以u为根的子树中,不选u点能得到的最大人数 f(u,0)=1表示唯一,否则不唯一 d(u,1)--------------------------------选u        f(u,1)=1表示唯一,否则不唯一 #include using namespace std; const int maxn = 200+5;

2016-11-11 11:23:44 342

原创 dp uva12186树上的动态规划

题目链接 d(u)表示让u给上级发信最少需要多少工人 #include using namespace std; const int maxn = 1e5+10; int N,T,f; vector sons[maxn]; int dp(int u){ if(sons[u].empty()) return 1; int k = sons[u].size(); vec

2016-11-10 23:44:24 199

原创 dp uva1626 括号序列

题目链接 状态转移 d(i,j)表示子串S[i~j]至少需要加几个括号 递推写法 快 #include using namespace std; const int maxn = 100+5; char S[maxn]; int n,d[maxn][maxn]; bool match(char a, char b){ return (a=='(' && b==')'

2016-11-10 21:22:38 377

原创 dp uva1025

题目链接#include <bits/stdc++.h> using namespace std;const int INF = 1<<30; const int maxn = 50+5; const int maxt = 200+5; int N,T,a[maxn],t[maxn],M1,d,M2,e,dp[maxt][maxn],kase; bool has_train[maxt][maxn][

2016-11-10 18:04:31 233

原创 dp uva10003

题目链接状态转移 d(i,j) 为切割小木棍i~j的最优费用d(i,j) = min{d(i,k)+d(k+j)|i<k<j}+a[j]-a[i]#include <bits/stdc++.h> using namespace std; const int maxn = 50+5; int L,n,vis[maxn][maxn],d[maxn][maxn],a[maxn]; int dp(int

2016-11-08 19:46:07 226

原创 dp最优矩阵相乘poj1651

题目链接#include <stdio.h> #include <iostream> #include <algorithm> using namespace std;const int INF = 1e9; const int maxn = 1000+5; int dp[maxn][maxn],n,p[maxn];int solve(int i,int j){ if(dp[i][j] !=

2016-11-08 18:35:37 291

翻译 dp uva11584

题目链接#include <bits/stdc++.h> using namespace std;const int maxn = 1000+5; int n,kase,vis[maxn][maxn],p[maxn][maxn],d[maxn]; char s[maxn];int is_palindrome(int i,int j){ if(i>j) return 1; if(s[i

2016-11-08 16:18:08 312

原创 动态规划uva11400

题目链接#include <bits/stdc++.h> using namespace std;const int maxn = 1000+5;struct Lamp{ int v,k,c,l; bool operator<(const Lamp& rhs)const{ return v<rhs.v; } }lamp[maxn]; int n,s[maxn]

2016-11-08 15:52:40 268

原创 动态规划uva12563

题目链接#include <bits/stdc++.h> using namespace std;const int maxn = 50+5; int T,n,t,a[maxn],dp[180*maxn];int main(int argc, char const *argv[]) { scanf("%d",&T); for(int cas=1; cas<=T; cas++){

2016-11-08 15:35:05 234

原创 动态规划uva1347

题目链接#include <bits/stdc++.h> using namespace std;const int maxn = 50+5; double x[maxn],y[maxn],dist[maxn][maxn],d[maxn][maxn];int main(){ int n; while(scanf("%d",&n) == 1){ for(int i=1;

2016-11-08 07:47:04 206

原创 ch9uva437 The Tower of Babylon

#include <bits/stdc++.h> using namespace std;const int maxn = 30+5; int n,blocks[maxn][3],d[maxn][3];void get_dimensions(int* v,int b,int dim){ int idx=0; for(int i=0; i<3; i++) if(i!=dim)

2016-11-08 07:40:14 246

转载 BZOJ2957

#include <cstdio> #include <cstring> #include <algorithm> #include <vector> #include <cmath> using namespace std;const int maxn = 1e5+10;int block,belong[maxn],num,l[500],r[500],n,m,x,h; double Max[max

2016-11-06 12:35:55 280

GaaihoReader_CHS_ALL_4.20.tar

pdf阅读器,快速,小巧,秒启动,秒开,支持窗口分割(同时显示同一篇pdf文档的不同部分,可以让我一边读论文正文一边看文后参考文献列表),批注功能比较方便

2020-02-11

potplayer.zip

PotPlayer64b播放器

2020-02-05

操作系统实验八 文件管理

包括实验题目,代码及运行结果 实验8 文件管理(2学时) 一、实验目的 理解文件系统的主要概念及文件系统内部功能和实现过程。 二、实验内容 采用二级文件目录结构,编写程序实现文件系统的文件存储空间的管理、文件的物理结构、目录结构管理和文件操作。 三、实验要求 1、设计一个有m个用户的文件系统,每个用户最多可保存一个文件。 2、规定用户在一次运行中只能打开K个文件。 3、系统能检查键入命令的正确性,出错时应能显示出错原因。 4、对文件应能设置保护措施,如只能执行、允许读、允许写等。 5、对文件的操作设计提供一套文件操作: CREATE建立文件; DELETE删除文件; OPEN打开文件; CLOSE关闭文件; READ读文件; WRITE写文件。 6、二级目录结构如下图所示。 用户名 用户文件目录地址 主文件目录MFD 文件名 状态(打开/建立) 指针 用户文件目录UFD

2018-06-13

操作系统实验七 磁盘调度

包括实验题目,代码及运行结果 实验7磁盘调度(2学时) 一、实验目的 1、对磁盘调度的相关知识作进一步的了解,明确磁盘调度的原理。 2、加深理解磁盘调度的主要任务。 3、通过编程,掌握磁盘调度的主要算法。 二、实验内容 1、对于如下给定的一组磁盘访问进行调度: 请求服务到达 A B C D E F G H I J K 访问的磁道号 30 50 100 180 20 90 150 70 80 10 160 2、要求分别采用先来先服务、最短寻道优先以及电梯调度方法进行调度。 3、要求给出每种算法中磁盘访问的顺序,计算出平均移动道数。 4、假定当前读写头在90号,向磁道号增加的方向移动。

2018-06-13

操作系统实验六 页面置换算法

包括实验题目,代码及运行结果 实验6 页面置换算法(2学时) 一、实验目的 通过实验加强对虚拟存储管理中页面置换算法的理解和掌握。 二、实验内容 编写程序实现虚拟存储管理中OPT,FIFO,LRU页面置换算法。 三、实验要求 1、任意给出一组页面访问顺序(如页面走向是1、2、5、7、5、7、1、4、3、5、6、4、3、2、1、5、2)。 2、分配给该作业一定的物理块(如3块、4块等)。 3、利用OPT,FIFO,LRU页面置换算法模拟页面置换过程并计算其缺页率。 4、每访问一个页面均需给出内存中的内容(内存中的页面号),若有淘汰还需给出淘汰的页面号。

2018-06-13

操作系统实验五 内存管理

包括实验题目,代码及运行结果 实验5 内存管理(2学时) 一、实验目的 通过实验加强对内存管理方法的理解和掌握。 二、实验内容 编写程序实现采用可变分区方法管理内存。 三、实验要求 1、在该实验中,采用可变分区方式完成对存储空间的管理(即存储空间的分配与回收工作)。 2、设计用来记录主存使用情况的数据结构:已分区表和空闲分区表或链表。 3、在设计好的数据结构上设计一个主存分配算法(循环首次适应算法)。 4、在设计好的数据结构上设计一个主存回收算法。其中,若回收的分区有上邻空闲分区和(或)下邻空闲分区,要求合并为一个空闲分区登记在空闲分区表的一个表项里。 5、(附加)若需要可以实现程序的浮动,对内存空间进行紧凑。

2018-06-13

操作系统实验四 设备管理

包括实验题目,代码及运行结果 实验4 设备管理(2学时) 一、实验目的 理解设备管理的概念和任务,掌握独占设备的分配、回收等主要算法的原理并编程实现。 二、实验内容 编写程序实现对独占设备的分配与回收的模拟。 三、实验要求 1、实现设备分配、回收、显示系统中设备信息的功能。 2、通过设备类表和设备表记录系统中设备信息、以便进行设备分配。 3、设备类表记录系统中全部设备的情况,每个设备类占一个表目,设备类表的数据结构如表1所示。 设备类 拥有设备数量 可分配设备数量 设备起始地址 图1 设备类表 4、为每一个设备配置一张设备控制表,用于记录本设备的情况。设备控制表的数据结构如图2所示。 绝对号 设备状态(好/坏) 是否分配(是/否) 占有作业名 相对号 图2 设备控制表 5、程序中建立分配设备和回收设备函数。 6、设系统有3类设备,每类设备的设备数分别为2、3、4。 7、要求键盘输入作业名、作业所需设备类和设备相对号。

2018-06-13

操作系统实验三 作业调度

包括实验题目,代码及运行结果 实验3作业调度(2学时) 一、实验目的 对作业调度的相关内容作进一步的理解,明白作业调度的主要任务。通过编程掌握作业调度的主要算法。 二、实验内容 编写程序实现作业调度算法,并验证程序的正确性。 三、实验要求 1、对于给定的一组作业, 给出其到达时间和运行时间,例如下表所示: 作业名 A B C D E F 到达时间 0 2 5 5 12 15 服务时间 6 50 20 10 40 8 2、分别用先来先服务算法、短作业优先和响应比高者优先三种算法给出作业的调度顺序。 3、计算每一种算法的平均周转时间及平均带权周转时间并比较不同算法的优劣。

2018-06-13

操作系统实验二 银行家算法

包括实验题目,代码及运行结果 实验2 银行家算法(2学时) 一、实验目的 理解银行家算法,掌握进程安全性检查的方法及资源分配的方法。 二、实验内容 编写程序实现银行家算法,并验证程序的正确性。 三、实验要求 编制模拟银行家算法的程序,并以下面给出的例子验证所编写的程序的正确性。 例子:某系统有A、B、C、D 4类资源共5个进程(P0、P1、P2、P3、P4)共享,各进程对资源的需求和分配情况如下表所示。 进程 已占资源 最大需求数 A B C D A B C D P0 0 0 1 2 0 0 1 2 P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 6 3 2 0 6 5 2 P4 0 0 1 4 0 6 5 6 现在系统中A、B、C、D 4类资源分别还剩1、5、2、0个,请按银行家算法回答下列问题: (1)现在系统是否处于安全状态? (2)如果现在进程P1提出需求(0、4、2、0)个资源的请求,系统能否满足它的请求?

2018-06-13

操作系统实验一: 进程调度

实验1 进程调度(2学时) 一、实验目的 通过实验加强对进程调度算法的理解和掌握。 二、实验内容 编写程序实现基于优先级的时间片轮转调度算法。 三、实验要求 1、假定系统有5个进程,每个进程用一个进程控制块PCB来代表, 其中: 进程名:作为进程的标识,假设五个进程的进程名分别为p1,p2,p3,p4,p5。 指针:进程按顺序排成循环链表,用指针指出下一个进程的进程控制块首地址,最后一个进程中的指针指出第一个进程的进程控制块首地址。 要求运行时间:假设进程需要运行的单位时间数。 已运行时间:假设进程已经运行的单位时间数,初值为0。 状态:可假设有两种状态,就绪状态和结束状态。进程的初始状态都为就绪状态。 2、每次运行所设计的处理器调度程序调度进程之前,为每个进程随机确定它的要求运行时间和优先级(数值越大,优先级越高)。 3、进程调度依据优先级进行,优先级随着时间动态增加,每经过一个时间片,优先级加1。 4、此程序是模拟处理器调度,因此,被选中的进程并不实际启动运行,而是执行 已运行时间+1 来模拟进程的一次运行,表示进程已经运行过一个单位时间。 5、在所设计的程序中应有显示语句,能显示每次被选中的进程名以及运行一次后进程队列的变化。

2018-06-13

空空如也

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

TA关注的人

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