自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

冰上游鱼

一个将要成为“苦逼的”程序猿的学生,在此写下历程

  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除