C&Cplusplus
文章平均质量分 74
zhouhong1026
这个作者很懒,什么都没留下…
展开
-
C 指针学习笔记
C 指针学习笔记1.通过数组名访问数组元素:对于数组int a[10].对其中的元素的访问,可以是a[i]或者*(a+i);2.数组名其实也是指针数组名与指针的区别?数组名代表的是一个指针常量,而指针代表的是一个变量。3.值传递、地址传递、引用传递#include void Exchg2(int *px, int *py)//参数px、py都是指针{//将a原创 2012-08-03 15:51:21 · 631 阅读 · 0 评论 -
动态规划——矩阵连乘的问题
《问题的引出》(《算法设计与分析》,王晓东编著,清华大学出版社2008年1月第2版。)看下面一个例子,计算三个矩阵连乘{A1,A2,A3};维数分别为10*100 , 100*5 , 5*50按此顺序计算需要的次数((A1*A2)*A3):10X100X5+10X5X50=7500次按此顺序计算需要的次数(A1*(A2*A3)):10X5X50+10X100X50=75000次所以原创 2012-08-20 16:05:48 · 1251 阅读 · 0 评论 -
hdoj 1272 小希的迷宫
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1272关键点:1.特别小心输入的格式,这个比较纠结。2.题目的最关键点:(1).所有点的根节点都相同(即下面的count=1),(2).输入路径不存在回来,这里用flag来标记回来(即构成回路,flag=1)3.注意find3(int x)这里用路径压缩的话,速度会快很多(用空间来换原创 2012-08-23 23:40:08 · 776 阅读 · 0 评论 -
HDOJ-1232(并查集)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1232AC代码:#include int v[1002];//定义全局变量,v[i]代表城镇。int find(int x){ int r = x; while(r != v[r]) r = v[r]; return r;//返回x所在的集合。原创 2012-08-23 20:42:35 · 970 阅读 · 0 评论 -
最小生成树(kruskal+并查集实现)
题目大意如下:求上图中带权图的最小生成树?具体实现(C++):#include #include #include #define M 9999#define N 6using namespace std;int set[N] = {0,1,2,3,4,5};int edge[N][N] = {{0,6,1,5,M,M},{6,0,5,M,3,M},{原创 2012-08-24 15:48:05 · 669 阅读 · 0 评论 -
最小生成树实现(kruskal+并查集)续
题目:(和上篇的那个题目差不多,不过里用到了路径压缩,所以效率更高。还有就是数据后面输入的,所以,更上篇的那个题目还是有区别。)输入数据:具体实现代码(C++):#include #include #include #include using namespace std;#define MAX 100//定义边(x,y),权值为Wtypedef s原创 2012-08-24 16:08:29 · 883 阅读 · 3 评论 -
hdoj1233 还是畅通工程
题目:http://acm.hdu.edu.cn/diy/contest_showproblem.php?pid=1009&cid=5825&hide=0 AC代码(C++):#include #include #include #include #define N 121#define M 10000using namespace std;typedef原创 2012-08-24 18:21:28 · 623 阅读 · 0 评论 -
进程退出方式
进程退出分为正常退出和异常退出两种:(1)正常退出a.在main函数中执行return b.调用exit函数c.调用_exit函数(2)异常退出a.调用about函数。b.进程受到某个信号,而该信号使程序终止。总结:不管是那种退出方式,最终都会执行内核中的同一段代码。这段代码用来关闭进程中所有打开的文件描述符,释放它所占用的内存和其他资源。退出方式比较:原创 2012-11-03 01:00:49 · 4752 阅读 · 0 评论 -
Linux管道编程技术:dup函数,dup2函数,open函数详解
(一)dup函数,dup2()函数1.dup和dup2也是两个非常有用的调用,它们的作用都是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout和stderr。这两个函数的 原形如下:#include int dup( int oldfd ); int dup2( int oldfd, int targetfd ) 利用函数dup,原创 2012-11-06 08:46:54 · 39431 阅读 · 1 评论 -
GCC使用详解
1.gcc编译程序过程: 在使用gcc编译程序时,编译过程可以为4个阶段:(1)预处理:(Pre-Processing)(2)编译:(Compiling)(3)汇编:(Assembling)(4)链接:(Linking) Link程序员可以根据自己的需要让gcc在编译的任何阶段结束,以便检查或使用编译器在该阶段的输出信息,或者对最后生成的二进原创 2012-11-09 09:31:38 · 1368 阅读 · 2 评论 -
C sizeof详解
1.sizeof概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数,而是关键字。sizeof操作符以字节形式给出了其操作数的存储大小。注意:a.操作数可以是一个表达式或括在括号内的类型名。b.操作数的存储大小由操作数的类型决定。2.sizeof使用(1)用于数据类型 sizeof使用形式: sizeof(datatype)数原创 2012-11-11 22:50:29 · 1699 阅读 · 0 评论 -
strcpy与memcpy以及strncpy
1. strcpy函数strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。函数原型及实现:[c-sharp] view plaincopyprint?char* strcpy(char* strDst,const char* strSrc){ assert((strDst != NUL转载 2012-11-27 22:41:01 · 622 阅读 · 0 评论 -
面试题解析之代码的健壮性
这道题目跟我上次在百度面试的一道题目基本相似,除了考查面试者数据结构、编码能力、编程风格等,特别考查面试者编写的代码的健壮性,也就是程序中的各种异常情况都必须考虑到。今天刚好看到这个例子,感觉很有代表性,也很能给人启发,整理了下思路果断拿出来分享。1.Subject:写一个实现字符串拷贝的函数。给定字符串拷贝函数strcpy的原型:char *strcpy(char *dest,const原创 2012-11-17 00:46:28 · 1998 阅读 · 0 评论 -
C vs Java基本数据类型
1.C语言的数据类型:(1)五种基本数据类型:字符型(char:占1个字节)、整型(int:占4个字节)、单精度实型(float:占4个字节)、双精度实型(double:占8个字节)和空类型(void:占0个字符)。(2)几种聚合类型:数组、指针、结构、共用体(联合)、位域和枚举。注:除void类型外,基本类型的前面可以有各种修饰符。修饰符用来改变基本类型的意义,以便更准确地适应各种情原创 2012-11-17 17:19:06 · 1818 阅读 · 0 评论 -
C++ vector容器类型使用
vector类为内置数组提供了一种替代表示,与string类一样vector类是随标准C++引入的标准库的一部分,为了使用vector必须包含相关的头文件:#include 重点:1.vector的初始化有几个方法: vector v1; 默认构造函数,此时v1为空(最常用,能动态增长) vector v2(v1) 一个副本,用得少。 相当于ve原创 2014-02-13 21:01:37 · 2295 阅读 · 0 评论 -
C++ 适配器
民间通俗易懂版本:C++ primer中关于适配器的定义——适配器(adaptor): 是使一种事物的行为类似于另外一事物的行为的一种机制。这个定义初学时觉得好抽象。为了理解C++中的适配器,不妨先了解物理上的适配器。物理上的适配器就是一个接口转换器,它可以是一个独立的硬件接口设备,允许硬件或电子接口与其它硬件或电子接口相连,也可以是信息接口。比如:电源适配器、三角架基座转接部件、US转载 2014-02-19 00:20:05 · 1052 阅读 · 0 评论 -
杭电acm题目分类版本2
杭电acm题目分类版本2 基础题:1000、1001、1004、1005、1008、1012、1013、1014、1017、1019、1021、1028、1029、1032、1037、1040、1048、1056、1058、1061、1070、1076、1089、1090、1091、1092、1093、1094、1095、1096、1097、1098、1106、1108、1157、1转载 2012-07-31 20:24:16 · 1296 阅读 · 0 评论 -
POJ题目分类
POJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分转载 2012-07-31 20:27:42 · 872 阅读 · 0 评论 -
C++ 排序函数 sort(),qsort()的用法
(一)首先看sort函数见下表:函数名 功能描述 sort 对给定区间所有元素进行排序 stable_sort 对给定区间所有元素进行稳定排序 partial_sort 对给定区间所有元素部分排序 partial_sort_copy 对给定区间复制并排序 nth_element 找出给定区间的某个位置对应的元素 is_sorted 判断一个区间是否已经排好序转载 2012-08-05 23:25:16 · 423 阅读 · 0 评论 -
warning: deprecated conversion from string constant to "char *"
warning: deprecated conversion from string constant to "char *"问题是这样产生的,先看这个函数原型:void someFunc(char *someStr);再看这个函数调用:someFunc("I'm a string!");把这两个东西组合起来,用最新的g++编译一下就会得转载 2012-08-05 22:36:44 · 491 阅读 · 0 评论 -
memset函数详细说明
1、void *memset(void *s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。2、例子int main(){char *s="Golden Global View";clrscr();memset(s,'G',6);//貌似这里有点问题//printf("%s",s);getchar();retu转载 2012-08-05 23:44:16 · 426 阅读 · 0 评论 -
模运算
模运算即求余运算。“模”是“Mod”的音译,模运算多应用于程序编写中。 Mod的含义为求余。模运算在数论和程序设计中都有着广泛的应用,从奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问题,无不充斥着模运算的身影。虽然很多数论教材上对模运算都有一定的介绍,但多数都是以纯理论为主,对于模运算在程序设计中的应用涉及不多。 例如11 Mod转载 2012-08-08 02:03:19 · 1031 阅读 · 0 评论 -
杭电ACM 1005 Number Sequence
Number SequenceTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 38553 Accepted Submission(s): 8150Problem DescriptionA number sequence原创 2012-08-07 15:16:32 · 4136 阅读 · 2 评论 -
hdu acm 2091 空心三角形
题目:空心三角形 Problem Description把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果。Input每行包含一个字符和一个整数n(0Output每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。原创 2012-08-08 13:48:09 · 1651 阅读 · 0 评论 -
hdu 1061 Rightmost Digit (模幂运算)
题目:Rightmost DigitTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 18913 Accepted Submission(s): 7266Problem DescriptionGiven a posi原创 2012-08-08 10:28:28 · 599 阅读 · 0 评论 -
hdu,2050,折线分割平面
这种类型的题目,在acm编程中比较经典,这里我们由浅入深来学习下:(1)在一个平面上有一个圆和n条直线,这些直线中每一条在圆内同其他直线相交,假设没有3条直线相交于一点,试问这些直线将圆分成多少区域。很容易看出递推关系,每新增一条直线,都将原来所有的区域分成两半,因此第n条直线会在原来的基础上再添加n个平面,函数递推关系式如下:递推公式1:f(0) = 1转载 2012-08-11 16:18:57 · 3610 阅读 · 0 评论 -
HDU 2045 递推求解
当n>3时,x[i]=x[i-1]+x[i-2]*2;递推思路:考虑长为n的串,以s[i]表示i位的字符。1.若前n-1位组成的串合法,则由于首尾不同,再添加一位时,只有1种方法;即s[n] = s[n-1] 2.若前n-1位组成的串不合法,再添加一位后合法,即因为首尾相同而引起的不合法,那么前n-2位组成的串必定合法。此时第n位有2种添加方法。即s[n] = 2*s[n-2]原创 2012-08-11 20:00:14 · 653 阅读 · 0 评论 -
c++语言中保留小数点的后n位
#include#includeusing namespace std;int main(){ float a=12.9999, b=0.2234; //第一种方式,从根本改变输出流 coutcout //第二种方式,简缩型 coutcout//第三种方式,全局整体型coutcout.precision(2); coutcout原创 2012-08-11 21:44:00 · 4707 阅读 · 0 评论 -
hdu acm 2084 数塔
数塔 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 85 Accepted Submission(s) : 47Font: Times New Roman | Verdana | GeorgiaFont Size: ←原创 2012-08-12 10:23:50 · 1070 阅读 · 0 评论 -
HDU 2047 阿牛的EOF牛肉串 动态规划
动态分析:每加一个字母会增加... s[i]=2*(s[i-1]+s[i-2]);我的思路:1.先考虑:当第i个元素为E或F时,前i-1个元素所有组合即s[i-1],s[i]=2*s[i-1]2.再考虑:当第i个元素为O时,第i-1个元素可以为E或F,前i-2个元素的所有组合s[i-2],s[i]+=2*s[i-2]AC code:#include #include转载 2012-08-11 21:20:48 · 759 阅读 · 0 评论 -
hdu 2049 不容易系列之(4)——考新郎
分析:这个道题就是求N中有多少中M个数的错排。因此先找到N个新郎中M个错一共有几种,显然是CMN=N!/(M!*(N-M)!)。即CMN=N!/M!/(N-M)!。然后在求出M个数的错排个数,递推关系:f[n]=(n-1)*(f[n-1]+f[n-2])详细推导过程:错排的情况:首先考虑,如果开始有n-1个新郎,并且这n-1个人都已经完成了错排(有f(n-1)种可能),现在又来原创 2012-08-11 23:19:29 · 7933 阅读 · 0 评论 -
杭电acm题目分类版本1
杭电acm题目分类版本1 2009-10-18 12:51:21| 分类:asdf转载 | 标签:|字号大中小 订阅1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过转载 2012-07-31 20:23:29 · 993 阅读 · 0 评论 -
并查集(不相交集合)基础知识详解
并查集(不相交集合) 文章作者:ktyanny 文章来源:ktyanny 转载请注明,谢谢合作。 早上早早起来看Kruscal的MST算法,原来要用到不相交集合来实现。拿起《算法导论》看完不相交集合这章,顿然茅塞顿开,终于完成并查集的基础知识的学习。《算法导论》真是牛×× 不相交集合有两种不同的实现,链表表示和带路径压缩的按秩合并策略。看到大家都比较喜欢用带路径压缩的按秩转载 2012-07-31 20:19:20 · 1432 阅读 · 0 评论 -
C++ primer中,"单词转换"map对象源码问题
单独编译word_transform.cc文件的时候报错:word_transform.cc:(.text+0x133):对‘open_file(std::basic_ifstream >&, std::string const&)’未定义的引用word_transform.cc:(.text+0x533):对‘open_file(std::basic_ifstream >&, std原创 2014-02-19 16:53:26 · 1203 阅读 · 1 评论