- 博客(35)
- 资源 (2)
- 收藏
- 关注
转载 卖水理论漫谈
最近看晓说, 其中一期提到了卖水理论, 觉得很有意思, 查了下资料, 然后想了想现在的互联网, 就此随便写一点东西吧.什么是卖水理论19世纪中叶, 17岁的小农夫亚默尔抱着发财的心理, 随着淘金的人流涌入加利福尼亚州. 山谷里水源奇缺, 寻找金矿的人最痛苦的就是没有水喝. 亚默尔认真思考一番, 觉得在这里也许卖水比挖金更能赚钱. 于是他放弃了找矿, 把手头的铁锨掉了个方
2014-05-26 21:19:05 663 1
转载 创建对象与使用对象——谈谈工厂的作用
在设计模式的教学和推广过程中,很多企业学员和在校学生经常问我,工厂模式(包括简单工厂模式、工厂方法模式和抽象工厂模式)到底有什么用,很多时候通过反射机制就可以很灵活地创建对象,为毛还要工厂?,在本文中我将围绕创建对象和使用对象来简单谈谈工厂的作用。 与一个对象相关的职责通常有三类:对象本身所具有的职责、创建对象的职责和使用对象的职责。对象本身的职责比较容易理解,就是对象自身所
2014-05-14 16:51:25 547 1
转载 [置顶] 史上最全设计模式导学目录(完整版)
圣诞献礼! 2012年-2013年,Sunny在CSDN技术博客中陆续发表了100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式 + 简单工厂模式),为了方便大家学习,现将所有文章的链接进行了整理,希望能给各位带来帮助! 祝大家圣诞节快乐! 花絮:本文的工作量大大超过之前的估计,几乎整个平安夜都花在它身
2014-05-12 19:19:02 673 1
转载 深入浅出UML类图(一)
在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition》(《UML精粹:标准对象建模语言简明指南(第3版)》)中有这么一段:“If someone were to come
2014-05-12 19:03:10 644 1
转载 多人联机射击游戏中的设计模式应用(二)
(6)观察者模式 联机射击游戏可以实时显示队友和敌人的存活信息,如果有队友或敌人阵亡,所有在线游戏玩家将收到相应的消息,可以提供一个统一的中央角色控制类(CenterController)来实现消息传递机制,在中央角色控制器中定义一个集合用于存储所有的玩家信息,如果某玩家角色(Player)阵亡,则调用CenterController的通知方法notifyPlayers
2014-05-12 15:33:27 755 1
转载 多人联机射击游戏中的设计模式应用(一)
为了方便大家更加系统地学习和掌握各种常用的设计模式,下面通过一个综合实例——“多人联机射击游戏”来学习如何在实际开发中综合使用设计模式。 反恐精英(Counter-Strike, CS)、三角洲部队、战地等多人联机射击游戏广受玩家欢迎,在多人联机射击游戏的设计中,可以使用多种设计模式。下面我选取一些较为常用的设计模式进行分析: (1)抽象工厂模式
2014-05-12 15:22:57 996 1
原创 二分图的最大匹配
匈牙利算法的两种实现:1.DFS找增广路#include #include using namespace std;const int MAXN = 100;int uN, vN; // u,v数目 bool g[MAXN][MAXN]; // g[i][j] 表示 x
2014-05-08 10:51:36 523 1
转载 粒子群算法二
原文地址:粒子群算法二作者:李一遥 在上一节的叙述中,唯一没有给大家介绍的就是函数的这些随机的点(粒子)是如何运动的,只是说按照一定的公式更新。这个公式就是粒子群算法中的位置速度更新公式。下面就介绍这个公式是什么。在上一节中我们求取函数y=1-cos(3*x)*exp(-x)的在[0,4]最大值。并在[0,4]之间放置了两个随机的点,这些点的坐标假设为x1=1.5;x2=2.5;这里的点是一个标
2014-05-08 10:51:34 776
原创 最大子序列
#includeint main(){int n,a[1000],max,s;int f,l,i,j;while(scanf("%d",&n)&&n>0){f=l=j=1;max=-1001;s=0;for(i=1;iscanf("%d",&a[i]);s+=a[i];if(s>max){max=s;f=j;l=i;}if(ss=0;j=i+1;}}pri
2014-05-08 10:51:30 476
原创 最长公共子序列
#include#includeint m,n;int a[100],b[100];int c[100][100];//存储对应的a[i]与b[j]的最大子序列char d[100][100];//存储该位置到最大子序列走向void lecLength(){//求出对应的c[][],d[][]; int i,j; for(i=0;ic[i][0]=0;for(j=0
2014-05-08 10:51:28 425
原创 矩阵链乘法
#include #define maxint 99999int p[100],m[100][100],s[100][100];int n;void find(int i,int j){if(i==j)printf("A%d",i);else{int k=s[i][j];printf("(");find(i,k);find(k+1,j);printf(")");}}i
2014-05-08 10:51:26 468
原创 装配线调度
#includeint main(){int n,i,j,min,lit;int a[2][1000];int t[2][1000];int f[2][1000],l[2][1000],d[1000];scanf("%d",&n); for(i=1;iscanf("%d",&a[0][i]);for(i=1;iscanf("%d",&a[1][i]);for(i=1;i
2014-05-08 10:51:23 508
原创 八皇后问题
#include#include#include#define N 8int left[2*N+1];int right[2*N+1];int column[N+1];int a[N+1];int times=0;void show(){times++;printf("第%d个\n",times);int i,j;for(i=1;ifor(j=1;j
2014-05-08 10:51:21 474
原创 sticks代码
#include#include#includeusing namespace std;int len[65];int visit[65];int lon,n,s;bool cmp(int a,int b){return a>=b;}bool dfs(int cnt,int index,int num){if(num==s/lon)return true;int i;
2014-05-08 10:51:19 554
原创 Fire Net代码
#includeint n,max;char a[6][6];bool allow(int r,int c){if(a[r][c]=='X')return false;int i;for(i=r;i>=0;i--){//从后面开始检验,若先出现墙则终止本次循环,若先出现map则此处肯定不能安 //装,返回falsei
2014-05-08 10:51:17 351
原创 畅通工程再续算法思想及代码
源程序:http://acm.hdu.edu.cn/showproblem.php?pid=1875算法思想:很明显这是一道关于最小生成树的题目,又因为边的数目远远大于点的数目,故采用prim算法。(1)首先指定一个顶点v将其加入U中(设置len[i]=0).(2)初始化每点到U的距离:算出其他点到点v的距离,若距离大于1000或小于10,则该路肯定不能修,可设置为这两点间没有路(设置的该
2014-05-08 10:51:15 503
原创 中序线索二叉树的实现
#includetypedef char Elemtype;typedef struct TbNode{ Elemtype info;TbNode *Lchild,*Rchild;int Ltag,Rtag;}TBTNode;TBTNode *root=0;TBTNode *prev;void insert(Elemtype el){ TBTNode *pre=0
2014-05-08 10:51:13 394
原创 Spell checker源代码
#include#include#include#include#includeusing namespace std;struct dictionary{char content[1001][20];int length;};int main(){dictionary dic;dic.length=0;int i; char currword[20];whi
2014-05-08 10:51:11 473
转载 ofstream 和ifstream的具体…
谢谢大侠!原文地址:和ifstream的具体用法(转)">ofstream 和ifstream的具体用法(转)作者:ribkahhou 这个小知识点迷糊了很久了,前段时间始终没有搞清楚,今天又拿过来看的时候好象明白了点......今天将ifstream 与ofstream的用法归纳一下(一)ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓
2014-05-08 10:51:08 470
原创 Farey 分数
#includetypedef struct Node{int a,b; struct Node *next;}Node,*linklist;void innilist(linklist &L){L=new Node;L->next=NULL;}void insert(int a1,int b1,Node *q){//在q后面插入结点。 Node *s=new No
2014-05-08 10:51:06 602
原创 两个递增有序链表合并为一个链表
}#includetypedef struct Node{int a;Node *next;}Node,*linklist;void dislist(linklist &L){//输出链表。Node *p1=L->next;while(p1!=NULL){printf("%d ",p1->a);p1=p1->next;}printf("\n");}void create
2014-05-08 10:51:04 942
原创 LC-Display代码
#include#includeintd[10][7]={{1,1,1,0,1,1,1},{0,0,1,0,0,1,0},{1,0,1,1,1,0,1},{1,0,1,1,0,1,1},{0,1,1,1,0,1,0},{1,1,0,1,0,1,1},{1,1,0,1,1,1,1},{1,0,1,0,0,1,0},{1,1,1,1,1,1,1},{1,1,1,1,0,1,1}};int
2014-05-08 10:51:02 452
原创 Wall算法分析与设计
总长度为凸包长度加上以L为半径的圆的周长,n边形的内角和为(n-2)*180,而扇形内角和加上多边形内角和恰为n*180(多边形每个角与对应圆弧的扇形所对应的角互补).求凸包:(1)排列:选出纵坐标最小的点,(若存在两点纵坐标相同,则取横坐标小的点)为起点,依次与其他点连接,按极坐标从小道大依次排列(根据叉乘,极坐标小的点在左边.:如线段p1,p2,若p1在p2左边,则(p1.x*p2.y)-
2014-05-08 10:51:00 814
原创 1065--Wooden Sticks解题报告
题目大意是只要后面的木棍长度和重量都不比前面小就不用花费准备时间。。。所以,只要使数组尽可能按要求排列即可,定义一结构体表示木棍的性质。排序:按重量从小到大排列,若重量相等,则按长度从小到大排列。递归:从第一个数开始,逐个进行搜索,若符合长度和重量都递增的条件的去掉,不符合的装入另一个结构体中,在对剩下的木棍进行搜索,一直到所得结构体为空为止。每一次递归,总数增加一,最后所得总数就是所求数;
2014-05-08 10:50:58 574
转载 【转载】北大acm 题目分类
谢谢大侠!!!!!!!!!!!原文地址:题目分类">【转载】北大acm 题目分类作者:飞飞ACM推荐题目2008-04-08 21:53 发信人: ailyanlu (飞翔), 信区: ACMICPC标 题: [zz from xjtu]题目分类发信站: 逸仙时空 Yat-sen Channel (Wed Jan 9 10:45:11 2008)发信人: solomonI
2014-05-08 10:50:55 605
原创 畅通工程算法及代码
如果一条路都没有,总共要修的路为n-1,每输入一条路就与之前输入的路比较,若没有构成环,则要修的路减少一条,知道所有已经修好的路输完为止.#includeint f[1000],k,n,m;int father(int x){ int r=x; while(r!=f[r])//算出所有点的根结点,当且仅当父接点与该点相同时,该点为根结点. r=f[r]; return r;}
2014-05-08 10:50:53 532
原创 非常可乐
#include#include#includeusing namespace std;int h,a,b;struct Node{ int x; int y; int z; int v;};int vis[101][101][101];void bfs(int a1,int a2,int a3){ queueq; Node q1,q2; q1.x=a1; q1
2014-05-08 10:50:51 475
原创 red and black广度搜索算法实现
#include#includeusing namespace std;struct Node{ int x; int y; Node(int a,int b){ this->x=a; this->y=b; }};char a[22][22];int c;void search(int X,int Y){ queuemyqueue;//建立队列,里面装入No
2014-05-08 10:50:49 523
原创 Catch That Cow代码
#include#includeusing namespace std;int m,n;int visit[100005];struct Node{ int num;int a;};int bfs(){ queue myqueue;Node st,ed; st.num=0;st.a=m;memset(visit,0,sizeof(visit));m
2014-05-08 10:50:47 415
转载 php实现遍历目录及子目录
$dir = "D:/www/mycms/"; //目录名称必须是这种格式$space="";function fun1($dir,$space="") { if(is_dir($dir) && $handle = opendir($dir)){ $space .= " "; whil
2014-05-06 09:45:35 1221
原创 新浪技术部php工程师笔试题及答案
一、php基础知识 1、strlen()与mb_strlen的作用分别是什么 strlen在统计长度是以字节统计,不区分字符编码的区别;而mb_strlen会自动区分字符编码, 统计字符长度。例如汉字北京,strlen()统计为6,而mb_strlen则统计为2. 2、下列哪个函数是用正则表达式将字符串分割到数组中(A) A、Split B、imp
2014-05-06 09:11:59 1664
转载 解决网站大流量问题的策略
当一个博客发展为知名博客的时候,博客的访问量通常都会非常大,使用使用虚拟主机的话,个人博客由于访问量过大经常会而引起服务器性能问题,这是很多人的烦恼,有人使用取消RSS等错误的方法来解决问题,显然是下错药,那么对于网站大流量带来的问题,正确的解决方法应该是什么呢?下面是我个人总结的一些经验,供大家参考。 首先,确认服务器硬件是否足够支持当前的流量。 普通的P4
2014-05-05 10:02:25 467
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人