- 博客(131)
- 资源 (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
3026
原创 变长数组(指针高级应用)
#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
2433
转载 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
2559
原创 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
1546
原创 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
1572
原创 强悍的宏定义(#,##)
#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
1271
原创 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
1356
原创 神奇的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
1666
1
原创 OpenGL入门笔记
1 完高比和视口: 由glOrtho设置的观察矩形和由glutInitWindowsSize设置的窗口要具有相同的宽高比,否则会出现意想不到的效果(变形),变形是由于默认的操作模式整个裁剪矩形会映到显示窗口所致。或者用glViewport定义视口。glViewPort就是屏幕的裁剪区域。2 正投影: 正投影是OpenGL
2012-08-10 09:14:37
1241
原创 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
1308
原创 linux find查找命令
从一堆文本里面查找含有某个字符串的命令 find ./ -tyep f -exec grep 'long long' -l {} /; { }表示find查找到的东西,存入在{}里 -exec表示find的额外动作,直到/结束
2012-07-14 11:09:40
1498
原创 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
1838
原创 重装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
1718
原创 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
1310
原创 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
1321
原创 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
1489
原创 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
1517
原创 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
526
原创 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
344
原创 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
338
原创 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
1235
原创 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
471
原创 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
293
原创 Problem 26 高精度加法
//============================================================================// Name : pe25.cpp// Author : paul08colin// Version :// Copyright : Your copyright notice// Descrip
2012-04-12 21:47:24
470
原创 欧拉计划解题源码与报告持续发表开始了
最近因为参加一个软件大赛发现了这个数学与程序设计的题库:http://projecteuler.net。特别喜欢这个题库。由于题库不能提交源代码,只需要结果。所以以后就在这里保存我的源码和解题报告。
2012-04-12 21:46:09
334
原创 poj 3735 矩阵行列变换
这题是矩阵运算的经典题目。 可以将peanut初始化为{{0},{0},{0},{1}},然后对peanut矩阵进行变换(行变换,可以对单位矩阵操作,然后放在左边乘以peanut。列变换则放在右边)。还有矩阵的运算符合结合率,不符合交换率。 进行矩阵的N次方运算的时候,我一直没用二进制的思想,一直在模拟递归的过程,结果不断超时,感觉复杂度跟二进制的思想差不多的,奇怪了。后来用了
2012-04-03 09:31:01
485
原创 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
1786
原创 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
656
原创 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
432
原创 关于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
1190
原创 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
432
原创 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
680
原创 变长数组(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
624
原创 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
413
原创 POj 2823 单调队列 / 优先队列
解法1: 单调队列所谓单调队列就是一个单调递增或递减的队列,并不是什么神奇的东西。单调队列(就递增来说)严格来说就是队头的原素是最大的,不断从队尾加原素,如果队尾的原素比要加入来的原素大,就不断退队,就到队尾的原素比要加入来的原素小或等于要加入来的原素。这题只要分别维护单调递增和单调递减的队列,每读入一个数就加入两个队列,然后从两个队头拿两个队顶原素出来,[L,R](L,R分别S
2011-12-25 19:57:40
1184
原创 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
811
原创 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
1215
原创 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
486
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人