自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

paul08colin

ACM/ICPC,Unix,Linux,C/C++, 服务端开发

  • 博客(131)
  • 资源 (1)
  • 收藏
  • 关注

原创 内存检查强力组合: valgrind和gdb

valgrind --vgdb=yes --vgdb-error=0  可执行文件

2014-09-04 19:02:23 4003 1

原创 打造vim IDE环境,管理大型项目

这里以ubuntu为例, 利用cscope实现文件间的跳转1、安装cscode:  sudo apt-get install cscope2 、生成工程目录下的文件列表: find /my/project/dir -name '*.h' >/my/cscope/dir/cscope.files find /my/project/dir -name '*.c' >>/my/

2013-07-03 12:27:31 2952

原创 变长数组(指针高级应用)

#include using namespace std;#pragma pack(1)//禁用字节对齐struct curData{ char data[0];//变长数组,这类应用一般适合于服务器之间转发的协议,节省内存 //int type;};#pragma pack()int main(){ std::cout<<sizeof(curData)<

2013-03-06 17:22:08 2361

转载 Building a LAMP Server

转载自http://www.lamphowto.com/This document will walk you through the installation of what is known as a "LAMP" system:Linux,Apache, MySQL and PHP.Depending on who you talk to, theP also stands

2013-02-28 14:24:48 2505

原创 LAMP配置点滴

第一次配编译安装LAMP足足弄了两天,各种折腾。参考http://www.lamphowto.com/,其他的可以看源码的README,或官方文档其中让浏览器自动提示语法错误的方法是改php.ini:装好后打开网页:localhost/index.html居然显示:The requested URL /index.html was not found on

2013-02-28 14:18:53 1506

原创 gdb常用重要指令

查看当前调试的进程:     info proc id

2013-01-17 14:24:42 1312

原创 cocos2d-x的成员函数指针

#include "iostream"using namespace std;class CCObject{};class base:public CCObject{private: int value;public: base() { value = 314; }public: void f() { std::cout<<value<<std::endl;

2012-11-20 17:40:53 1536

原创 强悍的宏定义(#,##)

#include "iostream"using namespace std;struct command{ char *name; void (*function) (void);};#define COMMAND(NAME) {#NAME,NAME ## _command}void quit_command(){ std::cout<<"hello quit"<<std:

2012-11-20 14:53:08 1225

原创 poj2992

一个多月没做题了。好好加油,将算法搞好      有两个公式可以解决这个问题:对于任于的数p = n1 ^p1 * n2 ^ p2 * n3 * p3 ..... p的因数个数为(1 + p1) * (1 + p2) * (1 + p3).... (1)对 n!的质因子p的个数为(n/p + n /(p^2) + n (p ^3) + ...)    c(n,m)  = n!/(m!

2012-08-20 23:49:31 1332

原创 神奇的c++特性:using 改变访问级别

using change access level                 Originally, the member function size()  in class derived 's access level is private,   but the using change it to publicusing also can solve

2012-08-18 15:31:09 1614 2

原创 OpenGL入门笔记

1 完高比和视口:               由glOrtho设置的观察矩形和由glutInitWindowsSize设置的窗口要具有相同的宽高比,否则会出现意想不到的效果(变形),变形是由于默认的操作模式整个裁剪矩形会映到显示窗口所致。或者用glViewport定义视口。glViewPort就是屏幕的裁剪区域。2 正投影:          正投影是OpenGL

2012-08-10 09:14:37 1213

原创 singleton设计模式,c++实现

singleton设计模式就是实现对象只能new一次        #include class base{ private: base() { // std::cout<<"hello world"<<std::endl; str = "hello world"; // me = NULL; } public: char* str; priv

2012-08-04 20:44:31 1269

原创 linux find查找命令

从一堆文本里面查找含有某个字符串的命令           find ./ -tyep f -exec grep 'long long' -l {} /;           {  }表示find查找到的东西,存入在{}里          -exec表示find的额外动作,直到/结束

2012-07-14 11:09:40 1427 1

原创 poj2769 简单数论

这题是求最小的数m,使所有数对m求模的结果不一样。利用a - b = m 则a % m == b  % m 将任于两个数的差去掉,然后穷举其它每个数就行了。#include #include #include #include using namespace std;const int MAXN = 1000010;bool visit[MAXN];bool

2012-05-21 21:19:16 1808

原创 重装windows后,修复grub(多系统启动)

以ubuntu为例1  sudo -i(获取root权)2 fdisk -l (查看分区)3 挂载linux系统分区mkdir /mnt/sda5  mount /dev/sda5 /mnt/sda53 grub-install --root-directory=/mnt/sda5 /dev/sda5  (如果不成功,后面可加上-f参数)4 OK 重启5

2012-05-02 20:21:40 1671

原创 poj2892 树状数组+二分

题意:求0所在位置两点连续0的个数,不断更新某个点,将这个点变成0或1用数状数组维护这个表,变成0,1就更新某个点,这是树状数组的特长。查询的时候,对两边二分就行了//// main.cpp// poj2892//// Created by He Xilin on 12-4-30.// Copyright 2012年 UESTC,ZSC. All rights r

2012-04-30 14:50:09 1287

原创 problem 22 字符串排序

http://projecteuler.net/problem=22#include #include #include #include using namespace std;int cmp(const void* e1,const void* e2){ char* a1; char* a2; a1 = (char*)e1; a2 = (char*)

2012-04-12 23:15:23 1284

原创 problem 18 数塔问题

简单dp#include #include using namespace std;int main(){ int num[20][25] = {{75},{95, 64},{17,47,82},{18,35,87,10},{ 20,04,82,47,65},{ 19,01,23,75,03,34},{ 88,02,77,73,07,63,67},{ 99,65,04,28,06,1

2012-04-12 23:12:31 1463

原创 problem 16 高精度乘法

http://projecteuler.net/problem=16#include #include #include using namespace std;int main(){ int ans[305]; memset(ans,0,sizeof(ans)); ans[0] = 1; int carry = 0; int i,j; for(i = 1; i

2012-04-12 23:01:22 1474

原创 problem 15 矩阵中a到b的路线数

http://projecteuler.net/problem=15简单dp,话说腾讯12年笔试题,出了题类似这题的#include using namespace std;int main(){ long long map[21][21]; map[0][0] = 1; int i,j; for(i = 0; i < 21; i++) { map[0][i] =

2012-04-12 22:54:49 488

原创 problem14 最长链

#include #include #include using namespace std;const long long MAXN = 1000000;long long dp[MAXN + 10];long long SumChain(long long n){ long long sum = 0;// cout<<endl; while(n != 1) { //c

2012-04-12 22:50:55 314

原创 problem 12 f(n) = f(n-1) + n 数列中第一个

projecteuler.net/problems#include #include #include using namespace std;long long SumFactor(long long n){ long long ans = 0; long long i; long long end = sqrt(n + 0.0) + 1;//可大大减少时间开销 f

2012-04-12 22:23:53 306

原创 problem 11 矩阵中连续四个数的最大积

http://projecteuler.net/problem=11暴力枚举#include #include using namespace std;int main(){ int matrix[410] ={ 8,02,22,97,38,15,00,40,00,75,04,05,07,78,52,12,50,77,91,8, 49,49,99,40,17,8

2012-04-12 22:11:26 1202

原创 Problem 10 2000000以下素数和

http://projecteuler.net/problem=10#include #include using namespace std;const int MAXN = 2000000;bool prime[MAXN + 10] = {1,1,0};int main(){ int i; int j; int ans = 0; long long lans =

2012-04-12 22:06:06 424

原创 problem 3 最大素因子

#include #include using namespace std;const int MAXN = 100000000;bool prime[MAXN + 10] = {1,1,0};int allprime[MAXN/10 + 10];int main(){ int i,j; int sub = 0; for(i = 2; i <= MAXN; i++) {

2012-04-12 21:50:32 269

原创 Problem 26 高精度加法

//============================================================================// Name : pe25.cpp// Author : paul08colin// Version :// Copyright : Your copyright notice// Descrip

2012-04-12 21:47:24 428

原创 欧拉计划解题源码与报告持续发表开始了

最近因为参加一个软件大赛发现了这个数学与程序设计的题库:http://projecteuler.net。特别喜欢这个题库。由于题库不能提交源代码,只需要结果。所以以后就在这里保存我的源码和解题报告。

2012-04-12 21:46:09 303

原创 poj 3735 矩阵行列变换

这题是矩阵运算的经典题目。    可以将peanut初始化为{{0},{0},{0},{1}},然后对peanut矩阵进行变换(行变换,可以对单位矩阵操作,然后放在左边乘以peanut。列变换则放在右边)。还有矩阵的运算符合结合率,不符合交换率。    进行矩阵的N次方运算的时候,我一直没用二进制的思想,一直在模拟递归的过程,结果不断超时,感觉复杂度跟二进制的思想差不多的,奇怪了。后来用了

2012-04-03 09:31:01 440

原创 POJ3613 经过K条边的最短路径 矩阵乘法 + floyd

以下选自:matrix67  十个利用矩阵乘法解决的经典问题经典题目8 给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案数modp的值    把给定的图转为邻接矩阵,即A(i,j)=1当且仅当存在一条边i->j。令C=A*A,那么C(i,j)=ΣA(i,k)*A(k,j),实际上就等于从点i到点j恰好经过2条边的路径数(枚举k为中转点)。类似地,C*A的第i行第j列就表示

2012-03-31 21:44:35 1705

原创 POJ3233 矩阵的N次幂求和 二分

k 为偶数:A^k = A ^(k/2) * A ^(k/2);k 为奇数: A^k = A ^ (k/2) * A^(k/2) * A   n  = 2k 为偶数A^1 + A^2 + A^3 +....... A^(2k) = (A + A^2 + A^3 + .....A ^ k) + A^k * (A + A^2 + A^3 + .....A ^ k);

2012-03-30 15:10:22 593

原创 poj1376 搜索(BFS)

题目: http://poj.org/problem?id=1376题意: 可以给机器人发两种指令:(1) GO: 一次朝一个方向移动1或2或3步  (2) TRUE: 转左或转右(一次只能转90度,不能连转两次) 。 每次执行1个指令都要花1秒。而且边界不能走。思路: 用BFS,有三维数组保存状态,代表到达当前位置(x,y)在z方向上花的秒数(权重), 比较权重。比之前的状态权重小的,则

2012-02-29 21:08:37 388

原创 关于STLsort double类型数据排序

bool cmp(const ccontrol e1, const ccontrol e2){    /*if(e1.right != e2.right)    {        return e1.left     }    else    {        return e2.right     }*///上面是犯的低级错误    double ans

2012-02-19 09:36:46 1144

原创 POJ2626 chess 三维DP

http://poj.org/problem?id=2626经典三维dp题意,给出每个队黑白的价值,求其中30个队,其中15个队出白色的值,15个队出黑色的值,求和最大。DP方程为DP[i][j][k] = max(dp[i -1][j][k], dp[i - 1][j -1][k] + node[i].white, dp[i -1][j][k - 1]  + node[i].bl

2012-01-20 01:02:52 398

原创 POJ 2676 数独

题目: http://poj.org/problem?id=2676题意就是打印一个数独的其中一个答案暴力DFS,用位运算保存行,列,3×3的状态,程序跑了800多ms#include #include #define MAXN 9#define true 1#define false 0inline int CellPos(int i, int j)//求所

2012-01-16 23:03:00 643

原创 变长数组(VLA),二维数组函数传递

#include //void f(int b, int a[b][b])void f(int b,int a[b][b]){ printf("%d\n",a[1][1]);}int main(){ int b = 2; int a[b][b]; a[1][1] = 1; f(b, a);}

2012-01-12 11:06:51 551

原创 POJ 2607 SPFA

求出所有FireStation到其它的Intersection的距离,再求出基它Intersection到其它点的距离,然后比较距离就OK了用SPFA +AdjacencyList 的速度较快 用Dijkstra会超时题目测试数据:http://plg1.cs.uwaterloo.ca/~acm00/990925.data/#include

2012-01-09 21:36:13 377

原创 POj 2823 单调队列 / 优先队列

解法1:  单调队列所谓单调队列就是一个单调递增或递减的队列,并不是什么神奇的东西。单调队列(就递增来说)严格来说就是队头的原素是最大的,不断从队尾加原素,如果队尾的原素比要加入来的原素大,就不断退队,就到队尾的原素比要加入来的原素小或等于要加入来的原素。这题只要分别维护单调递增和单调递减的队列,每读入一个数就加入两个队列,然后从两个队头拿两个队顶原素出来,[L,R](L,R分别S

2011-12-25 19:57:40 1114

原创 POJ 2635 N进制大数与小数取模

先把素数打表,然后进行大数取模,要取N进制(最好5#include #include #include #include using namespace std;#define MLEN 10//每位存pow(10,MELN)进制(即每个位存放MLEN位数)#define MAXN 1000000bool prime[MAXN + 10] = {1,1,0

2011-12-24 18:25:45 759

原创 POJ 2688 TSP问题

经典TSP问题先广搜求所有"dirty“点之前的距离,然后再DFS寻找所有组合(穷举法),最后取最短即为所求#include #include #include #include using namespace std;#define MAXN 30struct cnode{ int x; int y; int MapToPoint;// the in

2011-12-16 21:30:46 1178

原创 POJ1113 Convex Hull/凸包 Graham scan算法

求出所有点的凸包然后加上半径为L的圆的周长即可#include #include #include #include using namespace std;#define MAXN 1000#define pi acos(-1)struct cnode{ int x; int y;}node[MAXN + 10],p,sta[MAXN + 10]

2011-12-13 15:00:49 454

MFC扫雷源码,欢迎交流

MFC扫雷源码,暂时没实现双击功能,欢迎提出改正之处。

2011-04-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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