ubuntu 9.04安装大问题 20分求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu 9.04安装大问题 20分求相关的知识,希望对你有一定的参考价值。
本人下载了ubuntu 9.04,用工具写入了U盘,重启进入安装界面,一切正常。就在提示分区的时候,本人分不清南北了。
本人是要按双系统。但分区之后整个硬盘全删除了。不知道如何选择。
1个/ 根分区,可以用最新的ext4文件系统
1个swap 交换区,你可以当它是windows里的页面文件
另外,如果你原先有操作系统存在:
1首先,你需要一块没有使用的空白空间(没有分区的空间)
2为了不破坏原来的引导区,你需要选择“手动分区”方式。
3在空白的空间里建立分区,可以建立逻辑分区或者主分区(主分区总共不能超过4个),然后挂载点为“/”
4再建立swap交换区。交换区大小为你内存大小的1.5倍-2倍(不是越大越好)
这样,如果没有其他bug,就可以安装使用了。
另外,引导grub你最好安装到MBR上,如果不安装grub并把它写入引导,你就需要手动编写引导文件了 参考技术A 我用的是8.10,可能有些出入
专业的分区表示有点难,这里介绍个土方法
先记录你在win下个个盘的容量和使用量
比方d盘,50G容量,10G使用
分区时选择专业分区,可以看到已有分区的状态,容量和使用量,这是就可以辨识分区了,要安装在D盘就找到50G容量,10G使用的分区,删除,这是原来的D盘就表示为空闲空间了,选中空闲空间,编辑,创建分区先创建一个内存1.5倍的swp分区(内存够大的话可以不用),剩下的创建一个/分区(挂载到/)就可以了本回答被提问者采纳 参考技术B 呵呵,在选择位置时要小心,选最下面一个,高级,手动指定分区,选择可用空间,最少要建立两个分区,swap也就是“交换空间”(好像CCTV2也有一个,&_&)和/(根),swap一般是内存的两倍,如果你的内存>2G,swap设为2G就行了,/分区最好不小于5G,其实,如果你完全可以WUBI安装呀,不会有什么区别的,我空间里有WUBI安装图解的。http://hi.baidu.com/yzx909/blog/item/0c2fc1da5cbb9cd2b7fd4802.html 参考技术C Ubuntu 9.04会自动识别其他的操作系统的,不要选择手动分区,选“分别安装它们并在启动时选择”。
树链剖分求LCA
树链剖分求LCA
树链剖分需要将树的边分为重边和轻边。每个节点和他的儿子之间只能有一条重边,连接着该节点与他儿子中子树节点最大的一个。一系列连续起来的重边叫做重链,重链上的每个点的top值都是重链的顶端节点。
用树链剖分来求LCA,就需要每次比较top_x与top_y的深度,将深度较大的点变为top_x的父节点。直到top_x=top_y,循环结束。两者之中深度较小的节点,就是这两个点的LCA。
下附代码:
1 #include<cstdio> 2 #include<iostream> 3 #define N 42000 4 using namespace std; 5 int next[N],to[N],num,head[N],size[N],deep[N],father[N],top[N],n,m,p,a,b; 6 void add(int false_from,int false_to){ 7 next[++num]=head[false_from]; 8 to[num]=false_to; 9 head[false_from]=num; 10 } 11 void dfs1(int x){ 12 size[x]=1; 13 deep[x]=deep[father[x]]+1; 14 for(int i=head[x];i;i=next[i]) 15 if(father[x]!=to[i]){ 16 father[to[i]]=x; 17 dfs1(to[i]); 18 size[x]+=size[to[i]]; 19 } 20 } 21 void dfs2(int x){ 22 int mmax=0; 23 if(!top[x]) 24 top[x]=x; 25 for(int i=head[x];i;i=next[i]) 26 if(father[x]!=to[i]&&size[to[i]]>size[mmax]) 27 mmax=to[i]; 28 if(mmax){ 29 top[mmax]=top[x]; 30 dfs2(mmax); 31 } 32 for(int i=head[x];i;i=next[i]) 33 if(to[i]!=mmax&&father[x]!=to[i]) 34 dfs2(to[i]); 35 } 36 int lca(int x,int y){ 37 while(top[x]!=top[y]){ 38 if(deep[top[x]]<deep[top[y]]) 39 swap(x,y); 40 x=father[top[x]]; 41 } 42 if(deep[x]<deep[y]) 43 return x; 44 return y; 45 } 46 int main(){ 47 scanf("%d%d%d",&n,&m,&p); 48 for(int i=1;i<n;++i){ 49 scanf("%d%d",&a,&b); 50 add(a,b); 51 add(b,a); 52 } 53 dfs1(p); 54 dfs2(p); 55 for(int i=1;i<=m;++i){ 56 scanf("%d%d",&a,&b); 57 printf("%d ",lca(a,b)); 58 } 59 return 0; 60 }
预处理复杂度:O(n)。
一组询问复杂度:O(logn)。
空间复杂度:O(n)。
在线算法。
以上是关于ubuntu 9.04安装大问题 20分求的主要内容,如果未能解决你的问题,请参考以下文章