- 博客(14)
- 收藏
- 关注
原创 poj 1363
终于考试完了,又可以学习啦!poj1363,这道题是数据结构与算法中的经典问题,给定一组进栈顺序,问栈有多少种出去的顺序,而这个题是选择题中常考“下列出栈顺序中不合法的是?”。拿到之后最直接的思路就是模拟进出栈,代码AC了,但是时间为94ms。感觉不应该啊,这么简单的题,必定有更高效的算法。可是怎么更高效呢?/* * ===========================
2011-12-27 16:44:00 2525
原创 如何获得高精度的CPU时间
很多时候,我们想要统计一段代码运行的时间,但是这段代码运行的时间很短很短,以至于用clock()等函数获得时间的方法几乎是无效的。那么我们该粗和获得高时间呢?很多Intel的CPU有一条获得系统时钟的指令。我们可以用这条指令来获得时间。rdtsc.h#if defined(__i386__)static __inline__ unsigned long long rdtsc
2011-12-22 22:27:05 2317
原创 《c与指针》读书笔记
在C语言中,数组参数是以引用(reference)形式进行传递的,也就是传址调用,而标量和常量则是按值(value)传递的。scanf 一个数组参数时,前面不需要加上“&”符号。 如char str【20]; scanf("%s",str)是正确的,scanf("%s",&str)的结果也是正确的。char str[20][20];scanf("%s",str[2])是正确的,scanf("%
2011-12-19 23:46:16 1024 3
原创 poj1308Is It A Tree?
这道题的题意很明显,给定一大堆图边的关系,判断这个图是否为一棵树。我的算法是:1,判断图是否为空图,如果是空的,则为空树。(空树也是树)。2,找root判断这个图是否为一棵树。root应唯一。不唯一则不是树。3,建立临界表。4,从root开始层次遍历,如果遍历过程中有指向已经被访问过的点的指针,则不是树。5,层次遍历后,如果仍有未被访问过的顶点,则说明图不是连通的,也不不会
2011-12-18 15:32:39 514
转载 gdb调试命令集合
一:列文件清单1. List(gdb) list line1,line2二:执行程序要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。利用set args 命令就可以修改发送给程序的
2011-12-14 20:49:55 657
转载 ubuntu 硬件信息查看命令
1. lshwlshw命令显示详细硬件信息。如果要用概要方式显示,可以加上short参数:lshw -short要显示指定硬件信息,加上class(或C)参数:lshw -class memory2. sysstat监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如CPU使用率、硬盘和网络吞吐数据。3. lspci -v (相比cat /proc/pc
2011-12-11 01:00:14 8940
原创 poj1009
读完这道题,就有一种不妙的感觉。因为编写这种处理格子的问题,或者说处理不规则数据的问题,我写的代码从来都是总体思路也对,但是一大堆bug,结果不对。很痛苦。 硬着头皮写一写这个题,果然是很蛋疼。 哎,这种处理不规则数据的题最是考验清晰的思维能力和编程的内功。可怜自己思维也不够清晰,编程内功也不行,只要一超过100行,就bug一大堆。苦恼。 粘上未完成的代码,哪天闲了(或许再也不)
2011-12-09 20:18:25 2111
原创 poj1007玛雅历
不知道这道题有什么难点,通过率竟然会 贴上代码:#include#include#include#define HaabMonth 19#define HaabYear 365#define TzolkinMonth 20#define TzolkinYear 260char *Haab[]={"pop", "no", "zip", "zotz", "tzec", "
2011-12-09 14:13:43 1051 1
原创 poj1061青蛙的约会
拿到这道题之后,很快就会把它转化为 ax+by=d的求解问题(a,b,d已知,求x,y)。这个问题如何求解呢。 我一开始用穷举。很显然,会TLE. 然后,看了别人的解题方法。原来这就是传说中的扩展的欧几里得问题。 用欧几里得求两个数的最大公约数大家都会。但是这个扩展的欧几里得就不那么好理解了。 在网上找的对扩展的欧几里得的理解:扩展欧几里德算法理解(By ruiqi)欧几
2011-12-08 21:09:14 6299 1
原创 poj2479
/* * ===================================================================================== * * Filename: 2479.cpp * * Description: * * Version: 1.0 * Created: 2011年
2011-12-08 11:57:34 919
转载 union的用法
在GCC下,如果要初始化一个union很简单,像这样的一个union:union un{ int a; struct _s {int sa, sb;} s; void *p;};要在GCC下对它进行初始化,只要这样: un x = { p: NULL };即它可以直接指定要对哪个成员赋值
2011-12-07 18:50:58 1055
原创 网络最大流问题 poj1273 Drainage Ditches
网络最大流问题。 其实想法很直观,就是找一条流的路径,然后取这条路径上的最大流量,然后更新约束条件,然后再找这样的路径。。。直到没有能继续的路径。 找路径的方法使用的是广度优先搜索。 ps:最近在练习c语言,c语言虽然用起来比c++墨迹,各种注意事项,但是运行速度上跟c++的确不在一个量级上。15ms AC,源代码:/* * =======================
2011-12-07 10:18:04 649 4
原创 差分约束系统+spfa算法 poj1201
先把问题转化为差分约束系统,然后把差分约束系统转化为满足条件的图,然后对图求最大(或者最小)路径。 Dijkstral和Bell-man Ford是求单源最大最小路径的方法。但是效率并不高。 spfa(shortest path fast algorithm)算法效率较高。因为,对于那些距离没变化的点v,以后也不可能通过v来使别的点u的路径发生变化。所以用一种记录的方式记录变化的点,没有变
2011-12-03 12:18:43 673
原创 矩阵相乘的最优顺序
对于一个矩阵,进行乘法的顺序不一样,总的元素的乘法次数也不同。我们希望给出一系列矩阵之后,能找到元素乘法次数最少的计算顺序。 用动态规划来求解这个问题。/* * ===================================================================================== * * Filename:
2011-12-01 11:46:51 3209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人