linux编程初试

今天的java项目搞了一个下午,后来发现是一个小问题纠结了很长时间,悲剧。

刚刚12点,睡不着,就练习下linux编程吧,前段时间买了本《linux程序设计》,感觉挺好的,就随便看看。

照着例题敲了下,顺便总结下:

例程在P104,扫描目录。

本程序的目的是扫描一个目录,并且把目录下的内容输出出来,主要操作在printdir函数内完成。

DIR是一个目录流结构体,在dirent.h头文件中声明,目录流指针(DIR *)被用来完成各种目录操作,其使用方法与普通文件流指针(
FILE *)很相似,目录数据项在dirent结构体中返回,用户不能更改DIR中的字段。dirent结构题中包括d_ino表示文件的inode节点号,表示文件名的name等等,其相应的操作有:

(更多…)

继续阅读 →

CentOS 配置本地源,安装 LAMP

学校的服务器不能访问外面,所以就要用光盘镜像来作为yum源来安装软件首先需要挂载镜像:

1.挂载

  • 如果是镜像,则用  mount -o loop 镜像所在地方 /media/cdrom
  • 如果是光盘,则用 mount /dev/cdrom /media/cdrom
  • 这里是挂在在/media/cdrom中,具体自定
2.修改源的文件(可选)
  • vi /etc/yum.repos.d/CentOS-Media.repo 这里/media/cdrom是默认的位置,所以不需要添加。
  • baseurl= file:///media/cdrom/  也可以挂载在/media/CentOS
3.只用本地源进行安装
  • yum –disablerepo=/* –enablerepo=c5-media install ***

4.安装apache

  • yum install httpd httpd-devel
  • 安装完成后,用/etc/init.d/httpd start 启动apache
  • 设为开机启动:chkconfig httpd on
5.安装php及其扩展
  • yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml
  • /etc/init.d/httpd start
6.安装mysql
  • yum install mysql mysql-server mysql-devel
  • 同样,完成后,用/etc/init.d/mysqld start 启动mysql
  • 设置mysql密码===:
  • USE mysql;
  • UPDATE user SET Password=PASSWORD(‘newpassword’) WHERE user=’root’;
  • FLUSH PRIVILEGES;
  •  chkconfig mysqld on 开机启动
7.安装memcache。。。。待定

继续阅读 →

ZOJ 3055 WW’s game (模拟题)

ZOJ 3055 WW’s game

昨天下午新人比赛,我想找个模拟题,然后从大黄的题解上随便找了一个,比赛中途,我想敲敲试试,没想到光看题就用了20分钟,敲题用了半个多小时,最后到吃饭时候也没把样例给过了,心情十分郁闷。晚上回去,突然发现那些候选数字是以0为结尾的,于是我就换个结束的方法while( scanf(“%d”,&n) && n );然后他就华丽丽地在我的眼前AC了。

模拟对对碰,不过规则改了改,他不是交换两个相邻的格子,而是移动一行或一列,如果存在三个颜色相同的在一行或者一列,消去。说实话,难度不大。需要注意的两点:1.把k个操作保存起来再进行模拟,2. 候选格子是以0结尾的,不一样都放在一行输入上。我的代码用类把各种操作封装了。。

(更多…)

继续阅读 →

POJ 1679 The Unique MST (判断MST是否唯一)

POJ 1679 The Unique MST

题目中给出一个无向图,需要判断mst是否唯一。

本题用prim算法来做比较简单,具体来说,当一个节点被两个边更新的时候,如果他被选为下一个放入树中的点,那么连接他的边我们就不能确定了,也就是可能有多个最小生成树。上图,当a点确定的时候,b点更新为8,c点更新为12,然后b被加入树中,然后要更新c点,这时c的值12已经被两条边更新了,所以就可能产生多棵树。

(更多…)

继续阅读 →

ZOJ 2532 Internship (寻找关键割边)

ZOJ 2532 Internship

城市宽带网络,由于不够用,所以需要扩大某些线路的容量,这样就可以增大网络的流量,你的任务就是寻找到这些边使得这些边容量一扩充就能增大流量。

每个城市都是源点,所以建立超级源点S,然后求S到T的最大流,从S开始dfs把点染色为1,再从T开始dfs把点染色成2,如果我们能找到一条边u,v一边是1,一边是2的话,这条边就是关键割边。注意割边不一定是关键的,因为对它扩容之后,与他临接的可能还是满流。。
(更多…)

继续阅读 →

POJ 3635 Full Tank? (bfs+优先队列)

POJ 3635 Full Tank?

我有种DP的感觉,也有种最短路的感觉,然后我就无语了。。

每个加油的地方要分拆成(c+1)个点,然后求最短路,但是我实在是太土了,真的是把点弄成了N(C+1)个,还建图了好多次,TLE到无语。。

后来看了题解,各种不明白,因为对所给图形的理解不是很好,这个题硬是搞了一天。

以前做过几个bfs优先队列的,但是对他的理解不是很深刻,现在慢慢了解,他跟dijkstra非常神似,也是一个贪心的过程,每次弹出最小量,然后他对应的那个值就确定了,因为他之后的不可能被更改。赶紧去找几个类似题目练练手~~~
(更多…)

继续阅读 →