关闭

DFS搜索+剪枝

hdu-5952题意:给出一张无向图,然后判断这张图中一共有多少个不同的大小为S的完全图(完全图的顶点数为s个),题目保证每个点的度不大于20。完全图:n个点两两之间都有一条边的图叫完全图。思路:由于顶点个数很少,而且每个点的度数最多是20,所以可以暴力优化,建图,对于每个s点完全子图,如果i点在子图中,那么就枚举与i有边的其他点,(意思就是枚举完全图里面有i点的那些完全图,既然i点在完全图中,那么...
阅读(29) 评论(0)

最短路总结(迪杰斯特拉+floyed+SPFA)

今天突然发现spfa有点忘了,所以写了这篇博客,回顾回顾最短路算法,方便以后忘了可以复习复习QAQ最短路三种算法算法一:迪杰斯特拉算法注意:注意:迪杰斯特拉要求图中不能有负权边推荐博客: http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html实现方法有两种,第一种就是数组标记,第二种是优先队列实现。推荐第二种,时间复杂度...
阅读(46) 评论(0)

树状数组(二维)

今天学习了一维的数组数组,就又学了学二维的树状数组,其实,二维树状数组和一维的套路差不多,就是在处理的时候有一点点不同而已。。一维树状数组更新是这样的:void add(int x,int val) { for(;x<=n;x+=lowbit(x)) { num[x]+=val; } } 二维树状数组更新是这样的:void add(...
阅读(85) 评论(0)

树状数组(一维)

今天学习了一天的树状数组,感觉有点小懂,但是理解还不够透彻,大致现在博客上写写心得,下回不会再回过头来看,,,,ORZ先讲讲一维的树状数组:·以下有引用到大牛博客:http://blog.csdn.net/int64ago/article/details/7429868一维树状数组解决的大致问题就是:修改某点的值、求某个区间的和,,引用大牛的一段话: 树状数组是干什么的? 平...
阅读(89) 评论(0)

HDU-4460(bfs搜索)

题目大意:有n个人,m个关系,A认识B经过最少的人数为A到B的关系长度,问在这n个人中,任意两个人相互认识的最长关系长度为多少。如果有两个人无法通过关系认识则输出-1。换句话解释题意就是说求最短路的最大值(相邻两点的距离为1),数据范围是点数 1000 ,边数20000, 难道要求所有点之间的最短路再求最大值, O(n^3) 有点大。怎么办呢? 其实是可以优化的,从一个源点用BFS一圈一圈地向外扩...
阅读(71) 评论(0)

拓扑排序

拓扑排序此代码来自于我的队友kls ,原博客:dlkkill.top,拓扑排序,是一种按照一定的先后规则,来进行排序。 一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)...
阅读(201) 评论(0)
    个人资料
    • 访问:8638次
    • 积分:700
    • 等级:
    • 排名:千里之外
    • 原创:62篇
    • 转载:2篇
    • 译文:0篇
    • 评论:3条