• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






silencExplode

人生当如流水,可以干,而不可以浊!
 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2010年11月14日

数状数组
摘要: 树状数组不用多讲了,网上有关于这方面的内容很多,找找都是一大片,而且也不是很难,去学一下就可以很快领悟,至于怎么用,这就需要大量的做题了!先提个注意点,由于Lowbit(0) = 0,这会导致x递增的那条路径发生死循环,所有当树状数组中可能出现0时,我们都全部加一,这样可以避免0带来的麻烦~~简单: POJ 2299 Ultra-QuickSorthttp://acm.pku.edu.cn/JudgeOnline/problem?id=2299 求逆序数,可以用经典的归并排序做,也是基本的树状数组题目。 因为a[i]比较大,但只有最多500000个,所以要离散化。 逆序数就是求前面的数比后面. 阅读全文
posted @ 2010-11-14 00:30 silencExplode 阅读(332) 评论(0) 推荐(0)
 
bellman_ford
摘要: bellman_ford(贝尔曼-福特)算法:因为dijkstra算法不能处理带负权边的图,这时候就可以利用bellman_ford算法。( 设想从我们可以从图中找到一个环路(即从v出发,经过若干个点之后又回到v)且这个环路中所有路径的权值之和为负。那么通过这个环路,环路中任意两点的最 短路径就可以无穷小下去。如果不处理这个负环路,程序就会永远运行下去。 而Bellman-Ford算法具有分辨这种... 阅读全文
posted @ 2010-11-14 00:19 silencExplode 阅读(544) 评论(0) 推荐(0)
 
SPFA + 静态邻接表 模板
摘要: SPFA — shotest path faster algorithm,是一个效率很高的求最短路径的算法,也可以说是bellman-ford算法的优化版。 具体做法是先把起点放入一个队列中。每次取出队顶元素,并pop,看跟该点相邻的其他点是否能够松弛,如果可以松弛,改变数值,如果该点不在队列中,则把能该点push到队列中,直到队列为空。 为了速度更快,可以用邻接表来存储,这样,找与起... 阅读全文
posted @ 2010-11-14 00:17 silencExplode 阅读(307) 评论(0) 推荐(0)
 
静态邻接表
摘要: 上次比赛的时候有一道题目要用到最小生成树,用动态邻接表存储边的结构,结果MLE。实际上很多次了,没有学会用静态邻接表,吃亏不小。 今天趁着Lost大牛来这请客并教育我一番的劲头下,到它(哦,不,是他)的blog上偷盗了他的邻接表代码,花了一个晚上的时间,自己加上了自己的注释,并且加上了权的情况,终于把它搞懂了!代码 阅读全文
posted @ 2010-11-14 00:15 silencExplode 阅读(272) 评论(0) 推荐(0)