自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(18)
  • 资源 (10)
  • 收藏
  • 关注

原创 《纠结学习C++还是Java》之《如何学好java》

一、JAVA程序员之路(转):很多网友问我学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛! 要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是SunONE(O

2012-07-29 15:47:01 6199 2

原创 《纠结学习C++还是Java》之《如何学好C++》

一、心得体会:如果你愿意利用五年时间来成为高手,那么你只要两三年就会成为高手,如果你想一年就成为高手,那么你五年都成为不了高手。其实学习任何东西都一样,切忌浮躁,欲速则不达。看书注意:一切中国大陆作者的书,一概不要看。一切VC++或讲特定的编译器的书,一概不要看。二、学好C++应该读那些书推荐图书1:第一本书因人而异,基础好一些的,可以看StanleyB. Lippman的C+

2012-07-29 11:08:35 5166 6

原创 网络流总结(二)

这些天学习网络流,总结了一下用到的主要算法,主要从下面几个方面来介绍一、常见的几种算法二、这些算法的复杂度三、这些算法适合处理的问题四、算法模板FF方法(Ford_Fulkerson):所有增广路径问题都是以Ford_Fulkerson方法为基础,之所以称为方法而不是算法,因为它提供的是一种思想。Ford_Fulkerson(s,t) f = 0,对自定义流f

2012-07-28 22:52:46 778

原创 HDU 3572 Task Schedule(最大流问题,sap算法)

/*题意:用m个机器,处理n个任务,每个任务必须在[si,ei]时间段完成,需要pi天才能完成。每个机器只能处理一个任务,即每天只能处理m个任务。题解:可以采用贪心法处理,区间覆盖问题,可以参见刘汝佳的书。或者采用最大流,建图:把每个任务和每一天看做一个点,增加源点s和汇点t,在s和每个任务之间连一条边,容量为持续天数;在每一天和t之间连一条边,容量为m;在每个任务和对应天数之间连一条边

2012-07-27 21:29:58 1360

原创 HDU 3081 Marriage Match II(匈牙利算法 + 并查集)

/*WA,但是不知道原因题意:2*n个同学,n个男生,n个女生,m组数据表示两同学之间没有争吵,女同学中f组朋友。女同学寻找男朋友,如果他们之间或者她的朋友与那个男生之间无争吵,则可以作男朋友。当所有女生都找到男朋友后,则完成一轮。问最终有多少轮。题解:匈牙利算法 + 并查集问题显然是二分图最大匹配问题,如果最大匹配为n,则完成一轮。每完成一轮,需要进行一些处理,相同女同学不能选择同样的男

2012-07-26 16:42:42 639

原创 hdu1281 棋盘游戏(枚举 + 二分图最大匹配)

/*题解:枚举 + 二分图最大匹配棋盘行和列分别作AB集合,如果可以放旗子,则Ai 与 Bi连一条边,令map[i][j] = 1。同行与同列至多存在一个棋子,等于同一个点只能被一条边覆盖,于是棋盘中可以放最多棋子问题便转换成寻找最大匹配问题。由于本题中要求找出存在多少关键点,枚举每一个map[i][j] = 1的点,如果将map[i][j] = 0后,得到最大匹配值小于原来最大匹配值,则该节

2012-07-25 22:40:26 709

原创 HDU 1733 escape(最大流 + dinic算法)

/*超时,不过不想找错误了!做这道题开始接触dinic算法如果想要学dinic算法,参见:http://wenku.baidu.com/view/98deaf06b52acfc789ebc91a.html###http://www.cnblogs.com/ltang/archive/2010/11/17/1879573.html题意:X代表人,@代表教室门,问所有的人都跑出教室需要多

2012-07-21 21:20:26 767

原创 HDU 1569 方格取数(2)(最大点权独立集)

/*题解:因为这个数据比较大,所以用动态规划会超时。将图转换成黑白棋盘问题,i + j 为奇数的与s节点相连,边的权值为棋盘上对应位置的值,其他的与t节点相连,边的权值为棋盘上对应位置的值,然后让棋盘上相邻之间的节点用边相连,边的权值为INF。这样问题就转换为了最大点权独立集问题。定理:1、最大点权独立集 = sum - 最小点权覆盖集。2、最小点权覆盖集 = 最小割 = 最大流实现

2012-07-20 09:36:09 1152

原创 HDU 1507 Uncle Tom's Inherited Land(黑白棋盘最大匹配)

/*题意:N*M的矩形,向其中填充1*2的小块矩形,黑色的部分不能填充,问最多可以填充多少块。题解:黑白棋最大匹配将棋盘中i+j为奇数的做A集合,偶数的做B集合,相邻的则建立联系。于是便转换成寻找最大匹配的问题*/#include #define re(i, n) for(int i = 0; i < n; ++ i)using namespace std;const int

2012-07-19 11:03:00 1134

原创 HDU 1498 50 years, 50 colors(多次进行最小点覆盖运算)

/*题意:n*n的矩形中放入颜色值为[1,50]的气球,要求每一个人扎k次,每扎一次,可以将同行或者同列相同颜色的气球全部扎破。求是否存在不可能全部扎破的气球,按照升序规律输出气球的颜色。题解:多次进行最小点覆盖运算即可矩形行列分别为集合A和集合B,如果判断k气球,则如果map[i][j] = k,则表示存在一条边,这样便可以转换成最小点覆盖问题,只需要找出最小的点,清除掉两集合之间所有的

2012-07-18 23:32:35 699

原创 HDU 2819 Swap(最大匹配问题)

/*题意:输入N*N矩形的数据,通过行交换或者列交换来使正对角线的数值都为1.题解:按照正常逻辑也可以进行判断。转换成二分图匹配问题更简单一些左边卫矩形的行数,右边为矩形中‘1’所在的列。*/#include #define re(i, n) for(int i = 0; i < n; ++ i)using namespace std;const int nMax = 105;

2012-07-18 22:14:50 912

原创 hdu 3605 Escape(二分图多重匹配问题)

/*题意:末日逃亡,n个人逃往m个星球,一个人只能在某些星球上生存。一个星球最多居住人口有上限。求最后是否可以让所有人都逃离地球。题解:基础的二分图多重匹配问题(类似于二分图最大匹配)技巧:①处,可以减少代码量*/#include #define re(i, n) for(int i = 0; i < n; ++ i)//①using namespace std;con

2012-07-18 16:53:28 678

原创 HDU 2768 Cat vs Dog(最大独立集)

/*题意:喜欢或者讨厌同一只猫和狗的人不能同时留下题解:将观众分成两组,左边是喜欢猫的,右边是喜欢狗的,如果存在冲突,则在这两个观众之间加一条边,于是问题转换成求最大独立集问题。*/#include using namespace std;const int nMax = 505;struct Node{ char str1[10]; char str2[10];}cat[

2012-07-18 09:57:11 604

原创 HDU 1068 Girls and Boys(最大独立集)

/*题意:n个同学,一些男女同学会有缘分成为情侣,格式ni:(m) n1 n2 n3表示同学ni有缘与n1,n2,n3成为情侣,求集合中不存在有缘成为情侣的同学的最大同学数。题解:独立集:图的顶点集的子集,其中任意两点不相邻最大独立集 = 顶点数 - 最大匹配数由于本题是从整个点集搜索,并不是将点集分开成(A)(B),(1->2)(2->1)对称存在,所以相当于搜索了两遍。因此真正最大匹

2012-07-17 16:24:37 989

原创 HDU 1151 Air Raid(最小路径覆盖)

/*题意:输入n,m,分别表示路口数和街道数。街道单向通行,伞兵落在某路口上,可以通过街道到达下一个路口,求至少降落几个伞兵就可访问完所有的路口。解答:最小路径覆盖问题:在一个有向图中,使用最少的路径访问完所有的节点。最小路径覆盖 = 顶点数 - 最大匹配数有向图G(V,E),将V中每个顶点vi分成vi'与vi'',如果存在一条vi到vj的边,那么就在二分图中连接一条vi'与vj''的边

2012-07-17 09:41:55 555

原创 HDU 1150 Machine Schedule(最小点覆盖问题)

/*题意:A机器n种工作模式,B机器m种工作模式,共有k个任务。(i,x,y)代表:任务i可由A机器x模式或者B机器y模式完成。任务顺序可以随便改动,如果A或者B机器需要更换模式,则需要重启机器。求完成工作,需要最少启动机器次数。解题思路:画出二分图,易知该问题为最小点覆盖问题,最小顶点覆盖 = 最大匹配数证明参见Konig定理:http://www.cppblog.com/abi

2012-07-16 22:03:13 975

原创 HDU 2063 过山车(二分图最大匹配问题)

/*基础的二分图最大匹配问题*/#include using namespace std;const int nMax = 505;int map[nMax][nMax];//存储男女匹配模式int link[nMax];//与第i个女生相匹配的男生int useif[nMax];//是否被访问int K, M, N;bool can(int t){ for(int

2012-07-16 20:36:06 663

原创 HDOJ 1532 Drainage Ditches(最大流)

/*AC,一道基本最大流问题,采用Edmonds_Karp算法,算法复杂度O(V*E*E)*/#include #include using namespace std;const int nMax = 207;const int INF = 0x7fffffff;queue Q;int start, endd, path[nMax], flow[nMax], map[nMa

2012-07-15 17:03:30 694

JavaScript.DOM编程艺术(第2版)附录及源码.rar

JavaScript.DOM编程艺术(第2版)附录及源码.rar

2013-06-08

C和C++辞典.chm

C和C++辞典,chm

2012-05-02

ACM程序设计.pdf

ACM程序设计,pdf ,

2012-05-02

新编Win32API大全(中文版).chm

新编Win32API大全(中文版),中文版,

2012-05-02

C++STL程序员开发指南.pdf

C++,STL,pdf,C++STL程序员开发指南,

2012-05-02

MFC类库详解.chm

MFC类库详解,chm

2012-05-02

c++经典代码大全

c++,经典,代码,大全

2012-05-02

空空如也

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

TA关注的人

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