09 2011 档案

摘要:友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从连接MYSQL、修改密码、增加用户等方面来学习一些MYSQL的常用命令。一、连接MYSQL。格式: mysql -h主机地址 -u用户名 -p用户密码1、例1:连接到本机上的MYSQL。首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为r 阅读全文
posted @ 2011-09-30 20:53 张兰云 阅读(328) 评论(0) 推荐(0)
摘要:POJ 1769Minimizing maximizer线段树之点树:将最大的数字分离到最后的一位!题意分析:如果我们考虑将数组看成一条[1, n]的线段,而每项操作也看成是从[ i[k], j[k] ]的线段,那么题意就是按照线段的输入顺序,将线段[1, n]从左到右依次覆盖,问题变成求最小的覆盖线段总数.算法思想:考虑最基本的规划方法,用Opt[k]表示覆盖掉[1, k]的线段最少需要的步数,那么状态转移方程为:Opt[k] = min { Opt[d] + 1 | j[p] = k && d >= i[p] && d <= j[p] & 阅读全文
posted @ 2011-09-29 12:39 张兰云 阅读(404) 评论(0) 推荐(0)
摘要:1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。因此C++语言需要一个能完成动态内存分配和初始化 阅读全文
posted @ 2011-09-21 14:14 张兰云 阅读(422) 评论(0) 推荐(0)
摘要:从《严书》上看到了KMP算法,看了一遍没懂,但觉得挺神奇的,就花费了几天时间深入的理解。算法的原理其实不难,难的就是那个巧妙的next数组,这个next数组很吸引我,我的大部分时间也都是花费在这个数组上面的。这个next数组是KMP里面一个很关键的地方,对于在数据结构书上看过一遍整个算法流程的人,能够把next数组搞明白,整个KMP算法的整体思想就差不多理解了。然后在一些细节上面深入思考一下,就可以理解和领会改进的KMP算法。一、KMP算法简单介绍KMP算法是字符串匹配算法的一种,相对于朴素的字符串匹配算法而言,可以大大避免重复遍历的情况。此算法可以在O(n+m)的时间数量级上完成字符串匹配操 阅读全文
posted @ 2011-09-21 14:07 张兰云 阅读(1830) 评论(0) 推荐(1)
摘要:extern 作用1:声明外部变量现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。例1:创建一个工程,里面含有A.cpp和B.cpp两个简单的C++源文件://A.cpp:int iRI;int main(){//.....}//B.cppint iRI;gcc A.cpp -cgcc B.cpp -c编译出A.o, B.o都没有问题。但当gcc A.o B.o -o test时,main.o:(.bss+0x0): multiple definition of `iRI'b.o:(.bss+0 阅读全文
posted @ 2011-09-20 18:08 张兰云 阅读(2634) 评论(0) 推荐(1)
摘要:引言:在进行网络通信时是否需要进行字节序转换?相同字节序的平台在进行网络通信时可以不进行字节序转换,但是跨平台进行网络数据通信时必须进行字节序转换。原因如下:网络协议规定接收到得第一个字节是高字节,存放到低地址,所以发送时会首先去低地址取数据的高字节。小端模式的多字节数据在存放时,低地址存放的是低字节,而被发送方网络协议函数发送时会首先去低地址取数据(想要取高字节,真正取得是低字节),接收方网络协议函数接收时会将接收到的第一个字节存放到低地址(想要接收高字节,真正接收的是低字节),所以最后双方都正确的收发了数据。而相同平台进行通信时,如果双方都进行转换最后虽然能够正确收发数据,但是所做的转换是 阅读全文
posted @ 2011-09-20 17:59 张兰云 阅读(807) 评论(0) 推荐(0)
摘要:关于表达式去掉多余的括号括号在三种情况下可以去掉:1:开头的括号,不管怎样都可以去掉2:括号前面不是'-'号的括号,可以去掉3:括号前面是'-'号,但是里面没有运算符的也可以去掉// 1690.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>#include<cstdio> #include<cstring> using namespace std;#define N 260int main() { int t,i,j,del[N],ma 阅读全文
posted @ 2011-09-20 10:34 张兰云 阅读(297) 评论(0) 推荐(1)
摘要:poj 1159给出一个序列,求出最少插入多少字符就能形成一个回文1:用动态规划的方法做,C[i][j]表示从i到j要插入的字符个数。状态转移方程如下:C[i][j]={ C[i+1][j-1] if char[i]=char[j]; 1+min(C[i][j-1],c[i+1][j]) if char[i]!=char[j]2:求他的反转和本身的最长公共子序列 所要插入的字符个数就是字符串长度减去最长公共子序列。 阅读全文
posted @ 2011-09-10 21:45 张兰云 阅读(256) 评论(0) 推荐(1)
摘要:求最长上升子序列,用动态规划的方法,转移方程为:D[i]=max{1,D[j]+1} j=1,2,...,i-1并且 A[j]<A[i]其实怎么用程序把他实现也是不简单的,思想真是伟大。解法二:这个算法其实已经不是DP了,有点像贪心。至于复杂度降低其实是因为这个算法里面用到了二分搜索。本来有N个数要处理是O(n),每次计算要查找N次还是O(n),一共就是O(n^2);现在搜索换成了O(logn)的二分搜索,总的复杂度就变为O(nlogn)了。这个算法的具体操作如下(by RyanWang):开一个栈,每次取栈顶元素top和读到的元素temp做比较,如果temp > top 则将te 阅读全文
posted @ 2011-09-09 20:10 张兰云 阅读(3201) 评论(3) 推荐(2)
摘要:搜索关键词:散列函数、散列表、哈希函数、哈希表、Hash函数、Hash表散列方法不同于顺序查找、二分查找、二叉排序树及B-树上的查找。它不以关键字的比较为基本操作,采用直接寻址技术。在理想情况下,无须任何比较就可以找到待查关键字,查找的期望时间为O(1)。一、散列表的概念1、散列表 设所有可能出现的关键字集合记为U(简称全集)。实际发生(即实际存储)的关键字集合记为K(|K|比|U|小得多)。 散列方法是使用函数h将U映射到表T[0..m-1]的下标上(m=O(|U|))。这样以U中关键字为自变量,以h为函数的运算结果就是相应结点的存储地址。从而达到在O(1)时间内就可完成查找。其中: ... 阅读全文
posted @ 2011-09-01 11:05 张兰云 阅读(3729) 评论(0) 推荐(0)
摘要:#include <stdio.h>#include <string.h>#define M 100010char sa[M], sb[M];int la, lb;int solve() { la = strlen(sa); lb = strlen(sb); int maxlen = 0; for (int i = 0; i < la; ++ i) { for (int j = 0; j < lb; ++ j) { int len = 0; for (int i1 = i, j1 = j; i1 < la && j1 < lb; 阅读全文
posted @ 2011-09-01 09:45 张兰云 阅读(253) 评论(0) 推荐(1)