关闭

树状数组(二维)

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

树状数组(一维)

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

HDU-4460(bfs搜索)

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

最小生成树总结

最小生成树算法: Prim算法和Kruskal算法prim算法:1).输入:一个加权连通图,其中顶点集合为V,边集合为E;2).初始化:Vnew = {x},其中x为集合V中的任一节点(起始点),Enew = {},为空;3).重复下列操作,直到Vnew = V:a.在集合E中选取权值最小的边#include #include #include...
阅读(58) 评论(0)

拓扑排序

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