- 博客(70)
- 收藏
- 关注
原创 斯坦纳树
斯坦纳树//-------------------- Minimal Steiner Tree-------------------//G(V,E),A 是V 的一个子集,求至少包含A 中所有点的最小子树//时间复杂度O( N*M + N*2^A*(2^A+N) )//INIT: dis[][]距离矩阵; id[]置为集合A 中点的标号;//CALL: steiner(int n,in
2015-04-04 16:19:08
783
原创 最小比率生成树
最小比率生成树:每条边有花费和距离.选取的N-1 条边.使得花费总和Σcost/Σdist 距离总和最小.最小比率生成树//kruskal+Dinke(可用二分)double mid=0,b;int cnt; //加入MST中的节点个数while (1){ for (int i=1;i<=m;i++) dis[i].w=dis[i].h-dis[i].s*mid; //
2015-04-02 19:58:53
1003
原创 K 度限制生成树
K 度限制生成树:指定一个节点的度不能超过k 度.加边后,破圈.K度限制生成树const int N=500;struct node { int a,b,c; friend bool operator <(const node &a,const node &b){ return a.c<b.c; }}edge[N*N],ee; //edge 原图的边
2015-04-02 19:57:33
799
原创 最小树形图
最小树形图 有根的情况: 直接求. 无根的情况: 建立超级根节点,向每个点连有向边,边权大于所有边权和即可.const int N=1010;const int inf=1000000000;struct node{ int oldu,oldv; //原始点 int u,v,w; //缩图后的点}e[N*N];int n,m,rt;int pre[N
2015-04-02 19:54:03
545
原创 次小生成树
次小生成树step 1.先用prim求出最小生成树T,在prim的同时,用一个矩阵maxd[u][v]记录 在T中连结任意两点u,v的唯一的路中权值最大的那条边的权值.这是很容易做到的,因为prim是每次增加一个结点s, 在此需要保存节点和其父节点,采用DP,则最大权值要么是新加入的边,要么是父节点到起始点的采用DP算出来的距离.u是刚加入的点,不过还没进入节点数组,v是已经存在的点m
2015-03-26 21:43:23
480
原创 最小生成树
模板Kruskal: 并查集+排序 (应用与稀疏图比较合适) Prim (n^2) (应用与稠密图比较合适)const int N=10000;const int inf=1000000000;bool vis[N]; int dis[N],e[N][N];int prim() { inti,j,u,v,w,ans=0; for(i=1;
2015-03-26 21:39:55
482
原创 图论_并查集
并查集①合并查找:将2个集合合并成1个集合.(并到一个集合的根上)②种类并查集:将不同种类的放到不同的层次上.③判正误:利用种类并查集分层,然后每输入一句话,就判断是否矛盾.模板种类并查集(分层)voidInite_DS(){ //初始化 for (int i=1;i pre[i]=i;
2015-03-18 20:21:14
636
转载 矩阵-斐波那契数列
利用矩阵来求解斐波那契数列的有关问题是ACM题中一个比较常见的题型。例:NYOJ 148(斐波那契数列2)。有关斐波那契树列的规律详见这里。(1)、对于n>1,都有f(n)与f(n-1)互质。(2)、f(n)=f(i)*f(n-i-1)+f(i+1)*f(n-i)。现在说说怎么利用矩阵来求解斐波那契数列。我们可以先保存b=f(1),a=f(0),然后每次设:
2014-08-26 10:16:57
1201
转载 哈佛? 真的假的???
哈佛校园里,不见华服,不见化妆,更不见晃里晃荡,只有匆匆的脚步,坚实地写下人生的篇章。哈佛不是神话,哈佛只是一个证明,人的意志,精神,抱负,理想的证明。日前,两张美国哈佛大学图书馆凌晨4点多学生仍在学习的照片,在网上迅速传播。照片显示:凌晨4点的哈佛大学图书馆里,灯火通明,座无虚席……图片配文这样写道:哈佛是一种象征。人到底有怎样的发挥潜力?人的意志,人的才情,人的理想,为什么在哈佛能
2014-08-20 11:35:53
654
转载 各种字符串Hash函数比较
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。对于以上几种哈希函数,我对其进
2014-08-12 09:51:12
542
转载 成为it精英,我奋斗7年(震撼!惭愧!!!转)
这些日子 我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没 有方向 ,所以把我的经历写出来与大家共勉,希望能给刚如行的朋友们一点点帮助。 一转眼我在IT行业学习工作已经七年多了,这期间我做过网页,写过MIS、数据库,应用程序,做过通信软件、硬件驱动、协议栈,到现在做操作系统内核和 IC相关开发,这中
2014-08-09 21:53:54
753
转载 动态树
动态树是一种“超级数据结构”,它能够维护一个由若干有根树组成的森林,在对数的时间复杂度内支持:1.查询一个点的父亲2.查询一个点所在的树的根3.修改某个节点的权4.向从某个节点到它所在的树的根的路径上的所有的节点的权增加一个数5.查询从某个节点到它所在的树的根的路径上的所有的节点的权的最小值6.把一棵树从某个节点和它的父亲处断开,使其成为两棵树7.让一棵树的
2014-08-05 16:17:19
799
原创 HDU 4836 The Query on the Tree (欧拉序列,线段树,动态树)
The Query on the TreeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 197 Accepted Submission(s): 91Problem Description 度度熊最近
2014-08-05 15:59:38
1603
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人