书山有径勤为路>>>>>>>>

<<<<<<<<学海无涯苦作舟!

05 2012 档案

后缀数组的基本定义
摘要:子串: 字符串s的子串r[i..j],i<=j,表示r串中从 i 到 j 这一段。后缀: 后缀是从某个位置 i 开始到整个串末尾结束的一个特殊子串。 也就是说suffix(i)=r[i..len(s)];后缀数组:后缀数组sa是一个一维数组,它保存的是1..n的某个排列. sa[1],sa[2],..,sa[n],并保证suffix(sa[i]) < suffix(sa[i+1]) 也就是将s的n个后缀从小到在进行排序之后把排好序的后缀 的开头位置顺序放入sa中。名次数组:名次数组rank[i]保存的是suffix(i)在所有后缀中从小到大排列的名次。后缀... 阅读全文

posted @ 2012-05-31 11:18 More study needed. 阅读(263) 评论(0) 推荐(0) 编辑

后缀数组DC3算法实现
摘要:算法模板:View Code #define F(x) ((x)/3+((x)%3==1?0:tb))#define G(x) ((x)<tb?(x)*3+1:((x)-tb)*3+2)int wa[maxn],wb[maxn],wv[maxn],ws[maxn];int c0(int *r,int a,int b){return r[a]==r[b]&&r[a+1]==r[b+1]&&r[a+2]==r[b+2];}int c12(int k,int *r,int a,int b){if(k==2) return r[a]<r[b]||r[a]== 阅读全文

posted @ 2012-05-30 22:14 More study needed. 阅读(547) 评论(0) 推荐(0) 编辑

MFC中的基本知识
摘要: 阅读全文

posted @ 2012-05-21 21:13 More study needed. 阅读(175) 评论(0) 推荐(0) 编辑

线性探查法
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1496这个方法好快哦。View Code #include "iostream"#include "string"using namespace std;#define MAX 40000typedef struct hash{ int key; //乘积 int num; //乘积个数}hash;hash h[MAX];int Line(int k){ //线性探查法 int d = k%MAX; if(d<0){ d+=MAX; } while(h[.. 阅读全文

posted @ 2012-05-20 19:33 More study needed. 阅读(1717) 评论(0) 推荐(0) 编辑

如何计算三点面积
摘要:题目:http://acm.swust.edu.cn/oj/problem/848/代码:View Code #include "stdio.h"#include "string.h"#include "stdlib.h"#include "math.h"#include "iostream"#include "ctime"using namespace std;typedef struct node{ double x, y;}node;double Cal_Area(no 阅读全文

posted @ 2012-05-18 22:37 More study needed. 阅读(423) 评论(0) 推荐(0) 编辑

如何在终端查看系统运行了多长时间
摘要:输入uptime就可以了。显示的内容依次为:现在系统时间/系统运行了多长时间/目前有多少个用户/系统在过去的1分钟,5分钟,15分钟的平均负载。 阅读全文

posted @ 2012-05-16 13:47 More study needed. 阅读(204) 评论(0) 推荐(0) 编辑

如何在终端查看内存的使用情况
摘要:使用free -g 以G为单位free -m 以M为单位free -b 以B为单位来查看内存的使用情况。 阅读全文

posted @ 2012-05-16 13:44 More study needed. 阅读(365) 评论(0) 推荐(0) 编辑

如何获得相关指令的详细信息
摘要:1.使用man命令可以找到特定的联机帮助面,并白日提供简短的命令说明。使用man命令的语法格式为:man command_name比如我们要查看shutdown命令的详细信息。应该这样输入man shutdown2.使用info在一定的情况下也是可以的。用法和man一样。 阅读全文

posted @ 2012-05-16 13:31 More study needed. 阅读(152) 评论(0) 推荐(0) 编辑

输入的最小按键次数
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=2577用动态规划角。on[i]表示在lock为开的时候输入第i个字符时的最小按键次数。off[i]表示在lock为关的时候输入第i个字符时的最小按键次数。View Code #include "iostream"#include "string"using namespace std;#define MAX 105int on[MAX], off[MAX];int main(){ int n; string str; cin>>n; while(n-- 阅读全文

posted @ 2012-05-13 23:03 More study needed. 阅读(330) 评论(0) 推荐(0) 编辑

滚动数组的简单应用
摘要:题目:http://acm.swust.edu.cn/oj/problem/324/View Code //1.动态范围//2.动态次数//3.动态规律//4.动态边界#include <stdio.h>#include<string.h>int main(){ int Live, Stand, Step; int f[101][2]; while(scanf("%d%d%d", &Live, &Step, &Stand)!=EOF){ memset(f, 0, sizeof(f)); f[Stand][0] = 1; int 阅读全文

posted @ 2012-05-09 23:47 More study needed. 阅读(162) 评论(0) 推荐(0) 编辑

对滚动数组的理解
摘要:滚动数组的作用在于优化空间,主要用在递推和动态规划中。因为dp题目是一个自底向上扩展过程,我们常常需要用到的是连续的解,前面的解往往可以舍去。所以用滚动数组优化是很有效的。利用滚动数组的话在N很大的情况下可以达到压缩存储的作用。滚动数组实际是一种节省空间的办法,时间上没啥优势,多用于dp.其实用一维的数组来进行的简单背包就是用了滚动数组啊。 阅读全文

posted @ 2012-05-09 22:16 More study needed. 阅读(247) 评论(0) 推荐(0) 编辑

链表参数的引用与非引用
摘要:今天做了一个简单的题目。但是,我发现,在传参数的时候,如果不使用引用传参,那么头指针就会随着tmp指针向后移动。如果使用引用传参的话,它就不会了。题目:http://acm.swust.edu.cn/oj/problem/172/View Code #include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct node{ int n; struct node *next;}node;node *A, *B, *ta, *tb, *p;void Init_AB(){ A = (node* 阅读全文

posted @ 2012-05-08 22:50 More study needed. 阅读(502) 评论(0) 推荐(0) 编辑

指针的简单应用
摘要:题目:http://acm.swust.edu.cn/oj/problem/448/在本题中我实现了用指针读入字符串的功能。并通过指针的操作来实现本题的功能。View Code #include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char *str, *p; char *sen, *sp; char ch; p = (char *)malloc(sizeof(char)); str = p; while(scanf("%c", &ch)!=EOF){ i 阅读全文

posted @ 2012-05-06 19:56 More study needed. 阅读(192) 评论(0) 推荐(0) 编辑

什么是指针?
摘要:如果在程序中定义了一个变量,在对程序进行编译时,系统会根据程序中定义的变量类型,分配一定长度的空间。例如,Visral C++为整形变量分配4个字节, 对单精度浮点型变量分配4个字节, 对字符变量分配1个字节。内存区的每一个字节有一个编号,这就是“地址”,它相当于旅馆中的房间号。在地址所标志的内存单元中存放的数据则相当于旅馆房间中居住的旅客。由于通过指针能找到所需的变量单元,可以说,“地址指向该变量单元”。由于地址能够指向该变量单元,故形象的将“地址”称为“指针”。意思是通过它能够找到以它为地址的内存单元。int *i_pointer;指针变量名 指针变量内容i... 阅读全文

posted @ 2012-05-05 16:48 More study needed. 阅读(790) 评论(0) 推荐(0) 编辑

一道魔方的题目
摘要:题目:Isaacpei有很多的魔方,他总是拿着一个叫做Pocket Rubik's Cube的魔方,其实就是一个2X2X2的魔方来装B。 玩魔方的人总是有强迫症的,那就是看到没有复原的魔方就想复原。 syssyd是一个爱卖萌的少年,他不会复原魔方,但是他也有强迫症,那就是打乱魔方! syssyd打乱方式表达如下:L,R,U,D,F,B分别表示把左面,右面,上面,下面,前面,后面顺时针转90°, l,r,u,d,f,b则是表示逆时针转90°。他总是写一串字母,然后按次序从头到尾打乱。 现在syssyd面前有很多复原了的的魔方,他迅速写下了很多串打乱,分别用来打乱不同的 阅读全文

posted @ 2012-05-04 21:54 More study needed. 阅读(371) 评论(1) 推荐(0) 编辑

邻接表的使用
摘要:邻接表使用在什么时候呢?想了想,觉得应该用来存储树。还是来看一个例子吧。题目:在一棵根树上,Alice和Bob分别在其中某些结点上有一些大石头。 现在Alice和Bob轮流移动属于自己的石头,移动的规则是这样的, 选择某个结点上的一块石头,将石头移到该结点的父结点,当然, 位于根结点的石头是不可移动的,因为根结点没有父结点。Alice 先移动,当一方没有石头可移动的时候就输了。题解:只需计算每个石头的移动次数,即所在结点在根树中的深度即可。 现在我们已知的是根结点为0,那么我们我们可以用邻接表来存储, 可以从0号结点对远向图进行遍历,可采用深度优先或广度优先 来做。... 阅读全文

posted @ 2012-05-04 15:45 More study needed. 阅读(313) 评论(0) 推荐(0) 编辑

你了解swap吗?
摘要:众所周知,swap就是交换分区的意思。但是什么是交换分区,你真的知道吗?SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用. 它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。 需要注意的是,虽然这个SWAP分区能够作为"虚拟"的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是加大物理内存.SWAP分区只是临时的解决办法. qlinux下得分区推荐一个交换分区,一个根分区,其中交换分区如上所说作为redhat或 阅读全文

posted @ 2012-05-02 23:00 More study needed. 阅读(597) 评论(0) 推荐(0) 编辑

如何终止一个正在动态执行的命令
摘要:比如,我们在终端输入了top那么它就会一直动态的运行下去。我们怎样让它终止呢?很简单,Ctrl +C就可以了。另外,还有一种方法,直接按一下q也可以退出。它们两个的效果是一样的。 阅读全文

posted @ 2012-05-02 22:47 More study needed. 阅读(290) 评论(0) 推荐(0) 编辑

如何查看自己的网络及网卡的相关信息
摘要:很简单的,就一句话。在终端输入:ifconfig就可以了。 阅读全文

posted @ 2012-05-02 22:38 More study needed. 阅读(269) 评论(0) 推荐(0) 编辑

如何将启动权从Grub交到Windows手中
摘要:知道了的话,很简单的。在Windows下启动Dos输入c:\fdisk /mbr这样就可以重置主引导记录(MBR)。重新启动电脑,这里引导控制权就回到Windows手中了。 阅读全文

posted @ 2012-05-01 22:38 More study needed. 阅读(148) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

书山有径勤为路>>>>>>>>

<<<<<<<<学海无涯苦作舟!

点击右上角即可分享
微信分享提示