自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小菜的一天

do my best and let god do the rest

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

原创 unix网络编程初探---获取服务器时间

客户端向服务器端发送请求,服务器收到请求做相应的处理,将处理结果传回客户端。下面采用TCP协议实现服务器和客户端之间的连接。1.      客户端约定双方的传输协议(UDP或者TCP),根据传输协议创建socket;服务器的IP地址和端口号;连接服务器;获取服务器传递回来的数据。 #include#include #include #include #inclu

2012-04-13 15:26:53 1915

原创 基于规则的专家系统

基于规则的专家系统1.专家系统的构成专家系统:根据领域的系统知识建立起来的推理系统。它包含五种人:领域专家,知识工程师,程序员,项目经理,最终用户,团队关系图如下:图1:团队关系图领域专家:在某个领域中解决问题知识渊博,经验丰富。将其经验纳入专家系统中,作为专家系统的规则。知识工程师:能够设计,构建并测试专家系统的人,他为专家系统选择合适的任务。可以和领域专家沟通,

2012-03-27 21:50:56 18396

原创 Effective C++学习笔记(一)

1.       尽量以const,enum,inline替换#define,宁可以编译器替换预处理器。因为编译器不检查#define后面内容的合法性。当#define后面定义的内容不合法时,程序员就无法依靠编译器而检查出错误。2.       尽量使用constconst是一种语义约束,编译器会强制实施这些约束。2.1   Const成员变量const出现在星号左边,表示被指物是常量;const出现在星号右边,表示指针本身是常量;如果出现在信号两边,表示被指物和指针都是常量。2.2   const

2011-05-25 21:43:00 653

原创 poj 3928 Ping pong(离散化+树状数组)

<br /> <br />题目大意:N个乒乓球队员住在从西向东的街道旁,每个队员都有一个唯一的排名,为了提高他们的排名,队员之间要进行比赛,比赛时需要一个裁判,对裁判的选择有两个要求。<br />1.      裁判的排名不能高于两个比赛队员的排名或者低于两个比赛队员的排名,换句话说,就是裁判的排名要在两个比赛队员排名之间。<br />2.      由于队员们都比较lazy,而且比赛必须去裁判的家中,所以对于裁判的地理位置有个要求,两个比赛队员所走的距离之和不能大于两个队员的相隔距离。及裁判必须住

2011-05-23 16:03:00 698

原创 JiBX笔记总结

简介JiBX是一款非常优秀的XML(Extensible Markup Language)数据绑定框架。它提供灵活的绑定映射文件实现数据对象与XML文件之间的转换;并不需要你修改既有的Java类。另外,另外,它的转换效率是目前很多开源项目都无法比拟的。他的转换效率高,配置绑定文件简单,不需要操作xpath文件,不需要写属性的get/set方法,对象属性名与xml文件element名不用相同,只需在bing的时候建立映射。JiBX使用了XPP(XML Pull Parsing)技术,XPP使用的是不断增加数据

2010-12-02 15:28:00 986

原创 json学习(二)

接着json学习(一),使用jquery发送请求道serlvet,返回json字符串,然后在浏览器中显示。1.首先需要下载它的依赖包commons-beanutils-1.8.3.jarcommons-collections-3.2.1.jarcommons-lang.jarcommons-logging.jarezmorph-1.0.6.jarjson-lib-2.1.jar将这些依赖包加入到classpath中,同时将其放在D:/tomcat/lib中。然后需要下

2010-11-26 21:15:00 2004 1

原创 JSON学习笔记(-)

因为我曾经必须必须要java和js进行交互,当时使用的applet,后来知道,可以使用json+jquery简单的实现,在这个工程中,真的很折腾。1.首先安装tomcat,jdk。将tomcat配置好,然后在浏览器中输入http://localhost:8080/,如果能看到那只猫,说明配置成功。配置jdk完毕,输入java命令,如果成功,则配置正确。2.配置serlvet在tomcat的webapp目录下创建myServlets目录,接着在myServlets下创建WEB-INF目

2010-11-26 20:45:00 898

原创 Poj 2456 Aggressive cows

 Poj2456 Aggressive cows(二分+贪心)题目大意:FJ有一个很长的barn,然后里面有N棚,N个棚在一条直线上,第i个棚的位置为xi.然后他有c只羊,为了防止羊相互攻击,则要找出最大的两只羊之间距离,前提是这c只羊都必须能放下哈。解题思路:先将xi由小到大排序,xn最大。设这个最大距离为s;0Left=0;right=(xn-x1)/(c-1);mid=(left+right)/2;如果间隔mid能够放下c只羊,则最大间隔在[mid,right];否则[left,mid-1].继续

2010-10-09 22:27:00 4841

原创 poj 2267 From Dusk till Dawn or: Vladimir the Vampire

<br /><br />poj 2267 From Dusk till Dawn or: Vladimirthe Vampire<br />有个吸血鬼要从城市A到城市B,但是吸血鬼有3个问题需要克服:他只能在傍晚18:00到凌晨6:00之间旅行,其他时间只能待在车站。二:他必须带一个盒子,盒子里面装的血。三:他每天中午12点需要喝盒子里面的1升血。<br />问题:你帮吸血鬼找到一条路径,它需要带最少的血。<br />输入:n:道路的条数<br />每条路包括:起始城市,终点城市,起始时间,所需要的时间

2010-10-09 21:53:00 1198

原创 Poj 3072 Robot(单源最短路径)

这个题目很简单,但是细节处理麻烦,以至于做得想吐。题目大意:题目给出n个点的坐标,机器人一次性可以移动的最长距离R,当机器人要走向(xj,yj)时,必须转向(xj,yj).没转1度需要1秒,初始化机器人指向(xn,yn)。求机器人从(x1,y1)到(xn,yn)所需要的时间。大体思路:从(x1,y1)出发,在(x1,y1)的方向是指向(xn,yn)的,初始化所有的点到(x1,y1)的时间(转角需要的时间和距离所花费的时间)(x1->xi)。加入时间最小的节点(xm,ym)。更新其他未加入的节点的时间,如果(

2010-10-08 11:51:00 1150

原创 并查集的基本知识

<br />对不相交集合进行俩种操作:<br />1.  检索某元素属于哪个集合<br />2.  合并两个集合<br />我们最常用的数据结构是并查集的森林实现,也就是说,在森林中,每棵树代表一个集合,用树根来标识一个集合,树的形态不重要,重要的是每棵树有哪些元素。<br />查找操作<br />查找一个元素v很简单,只需要顺着叶子到根节点的路径找到u所在的根节点,然后把v到u的路径上面的结点的父节点都设置为根节点,这样减少了查找的次数(路径压缩)。<br />合并操作<br />为了把两个集合s1和s2

2010-08-31 16:16:00 403

原创 poj 3026 Borg Maze

题目要求:Borg扫描到所有外星人的最低代价。题目输入:输入x,y值,空格表示可以通过的空间,'#'表示有障碍物,不能通过,'A'表示外星人,'S'表示搜索的开始。答题思路:先根据输入的矩阵建立出来一个无向图。'A'或者'S'表示一个顶点。使用广度优先算法找到每个顶点的邻节点。根据所建立图,利用prim求出最小生成树。代码:#include#include#include#include#includeusing namespace std;#define MAX 10000struct Point{ in

2010-07-23 19:27:00 651

原创 c++ stack,queue,vector用法

<br />c++ stack,queue,vector用法<br />分别包含在文件<stack>,<queue>,<vector><br />定义:<br />stack<class T> s;<br />queue<class T> q;<br />vector<class T> v;<br />stack的方法:<br />push()的向容器顶部里插入元素;<br />pop()是删除容器顶部的元素;<br />top()返回容器顶部的元素;<br />size()返回容器的元素个数;<br />

2010-07-23 17:21:00 5828 4

原创 Jade的安装与测试

jade(JavaAgent DEvelopmentframework)是基于java语言的开发agent的工作框架。也可以说是用java开发的一个开发agent的软件;或者说是用于开发符合FIPA规范的多agent

2009-08-18 19:12:00 5266 6

原创 poj 2492 A Bug's Life(并查集)

最基础的并查集,是1182的简化版,这个只有两种关系,同类or异类,我们用个rank[]数组表示他们之间的关系,0:同类,1:异类。a-->b的关系满足传递性:a-->x-->y-->b; #include#includestruct{  int pre;  int rank; }bug[2002];int n,pairs;void makeset(int t){ bug[t].pre=-

2009-04-14 19:32:00 1524 1

原创 poj 1182 食物链(并查集)

很典型的并查集,我们只需要找到A,B,C类,然后我们必须保存他们之间的关系,这个关系我们使用3进制表示,同类(0),吃(2),被吃(2).然后我们就有一定的变换关系了。rank[]//用来表示他与父节点的关系。1 x y(x,y同类),x所在集合的根节点a,y所在的根节点b.(a!=b)rank[x](x->a)==rank[y](y-->a)rank[a](a->b)=rank[y](y->b)

2009-04-14 19:25:00 778

原创 poj 3544 Journey with Pigs(简单的贪心)

首先把题目读懂:要求输出j-th是哪头猪在j-th村庄卖,而不是j-th猪在哪个村庄卖。因为这个题目需要位置。如第j头猪,还有第i个村庄之类的信息,所要必须保存他们各自的位置。使用2个struct。贪心:  给出了到每个村庄的距离d,然后还有每个村庄的price,我们可以算在每个村庄猪的纯price是多少(把一斤猪带到j村庄到底值多少钱),就是当地猪的price-d*t;然后使用担心排序就好了

2009-04-04 11:19:00 953

原创 poj 3672 Long Distance Racing(水题)

 纯数学。对于每一个unit,同时计算来回所要的时间。#include#include#includeint main(){ int m,t,u,f,d,ans=0; char c; int i; bool flag; scanf("%d%d%d%d%d",&m,&t,&u,&f,&d); for(i=0;i {  flag=0;  scanf("/n%c",&c); // printf(" 

2009-04-04 11:03:00 861

原创 poj 3671 Dining Cows(dp)

 枚举每个位置,如果与这个位置为分界点,那么要修改多少个card。#include#include#includebool card[30002];//card[i]=0表示1,card[i]=1表示2;int cow[30002][2];//cow[i]:表示1---i为1,i+1---n为2;cow[i][0],表示1---i要修改的卡片数,cow[i][1]:表示i+1要修改的卡片数。i

2009-04-04 10:47:00 1073

原创 poj 3687 Labeling Balls(拓扑排序)

这个题目必须反向建图,这个我只能举个反例说明,但是没有办法证明。#include#include#includebool grid[202][202],tag[202];int top[202],ball[202];int main(){ int cases; int i,j,k,M,N,a,b; bool flag; scanf("%d",&cases); while(cases--) { 

2009-04-04 10:22:00 1340 2

原创 poj 2255 Tree Recovery

这个题目用来练习数据结构很不错,给出树的先序遍历,中序遍历,然后求出后序遍历。思路很简单:根据先序,中序,建树。然后后序访问此树。使用递归。#include#include#includeusing namespace std;typedef struct Node{ char t; struct Node *lch,*rch;};//建树 Node* create(const string& p

2009-02-23 11:52:00 1073 3

原创 poj 1740 A New Stone Game( 博弈)

有N堆石子,每次可以从任意堆拿出任意个,然后可以从拿出的任意个中间选出一些放到其他任意堆中间。这个题目的关键:是否能找到成对的堆。如果所以堆都成对,那么先手输,如果不成对,先手赢,先手可以通过一次性把所有的堆变成对。代码如下:Source CodeProblem: 1740 User: Cathy11Memory: 172K Time: 0M

2009-02-20 16:13:00 707

原创 Poj 1067 取石子游戏 (博弈)

取石子问题。具体不会,看别人的解题报告。(具体不怎么懂,先帖到这里)问题分析:威佐夫博奕(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。    这种情况下是颇为复杂的。我们用(ak,bk)(ak ≤ bk ,k=0,1,2,...,n)表示两堆物品的数量并称其为局势,如果甲面对(0,0),那

2009-02-20 16:09:00 2357

原创 poj 2234 Matches Game (博弈)

有N堆火柴,每次可以从任意堆拿出任意数量的火柴,谁拿走最后的谁就win,我没有办法证明算法的正确性,用异或可以解决此类问题。 Source CodeProblem: 2234 User: Cathy11Memory: 172K Time: 0MSLanguage: C++ Result: Accepted

2009-02-20 16:06:00 876

转载 无穷下降法·数的按位异或与随机博弈

 无穷下降法是著名的业余数学家费马提出的,也正是因为这个方法他才敢在书页边上声称自己已经找到了一个巧妙的方法证明费马猜想(x^n+y^n=z^n在n>2时没有正整数解,x^y表示x的y次方)。意外的是这个方法并没有想象中的那样神奇,它仅仅可以证明对于某些特殊的n才能成立(譬如说4),思路是:假设存在一组解(x0,y0,z0),那么由这一组解可以得到一组新的解(x1,y1,z1),并且满足z0>

2009-02-20 10:11:00 1144

原创 pku 3278 Catch That Cow---BFS

poj 3278(bfs)题目很简单,bfs直接可以解决掉,注意截枝:有些位置前面已经出现了,后面就不用重复了。设了一个tag[]帮助解决这个问题。#include#include#include#include #define Len 100005using namespace std;struct Node{     int x;  int step;};bool tag[Len];int

2009-02-18 13:28:00 544

原创 并查集

并查集:(union-find sets)是一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,其中最完美的应用是实现Kruskar算法求最小生成树。其实,这一部分《算法导论》讲的很精炼(第21章:用于不相交的集合)。并查集是一种可以方便地进行以下三种操作的数据结构:合并两个集合;将一元素并入另一集体;判断两个元素是否属于同一个集合。

2009-02-18 12:19:00 385

poj 2255 Tree Recovery

建树,树的遍历访问,联系数据结构不错的题目

2009-02-23

空空如也

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

TA关注的人

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