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






hebozi

 
 

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

随笔分类 -  ACM

 
SPFA 算法
摘要:算法简介 SPFA(Shortest Path Faster Algorithm)是Bellman-Ford算法的一种队列实现,减少了不必要的冗余计算。也有人说SPFA本来就是Bellman-Ford算法,现在广为流传的Bellman-Ford算法实际上是山寨版。求单源最短路的SPFA算法的全称是:ShortestPathFasterAlgorithm。 从名字我们就可以看出,这种算法在效率上一定有过人之处。 很多时候,给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了。 简洁起见,我们约定有向加权图G不存 阅读全文
posted @ 2012-10-17 22:01 hebozi 阅读(273) 评论(0) 推荐(0)
MultiSet容器(多元集合)
摘要:多元集合(MultiSets)和集合(Sets)相像,只不过支持重复对象。函数列表:begin()返回指向第一个元素的迭代器clear()清除所有元素count()返回指向某个值元素的个数empty()如果集合为空,返回trueend()返回指向最后一个元素的迭代器equal_range()返回集合中与给定值相等的上下限的两个迭代器erase()删除集合中的元素find()返回一个指向被查找到元素的迭代器get_allocator()返回多元集合的分配器insert()在集合中插入元素key_comp()返回一个用于元素间值比较的函数lower_bound()返回指向大于(或等于)某值的第一个 阅读全文
posted @ 2012-08-12 22:27 hebozi 阅读(270) 评论(0) 推荐(0)
组合数的奇偶性
摘要:组合数的奇偶性08年安徽高中联赛的初赛题中有这么一题:多项式(1+x)^2008=a0+a1x+……+a2008x^2008,系数a1,a2,……,a2008中共有多少个偶数。(ans=2008-128=1881)看到这题,想到的就是判断c(2008,k)的奇偶性,由于没有相关知识基础就去搜了下资料。(附下)但是如何运用呢?这里似乎涉及到一点位运算的知识。10进制(2008)=2进制(11111011000)由结论:对于C(n,k),若n&k == k 则c(n,k)为奇数,否则为偶数。于是开始匹配。2008:1 1 1 1 1 0 1 1 0 0 0 0 -->0 1 0 0 阅读全文
posted @ 2012-08-07 21:37 hebozi 阅读(567) 评论(0) 推荐(0)
所有的STL容器
摘要:所有的STL容器 容器(Container)的概念的出现早于模板(template),它原本是一个计算机科学领域中的一个重要概念,但在这里,它的概念和STL混合在一起了。下面是在STL中出现的7种容器: vector(向量)——STL中标准而安全的数组。只能在vector 的“前面”增加数据。 deque(双端队列double-ended queue)——在功能上和vector相似,但是可以在前后两端向其中添加数据。 list(列表)——游标一次只可以移动一步。如果你对链表已经很熟悉,那么STL中的list则是一个双向链表(每个节点有指向前驱和指向后继的两个指针)。 set(集合)—... 阅读全文
posted @ 2012-08-05 21:20 hebozi 阅读(189) 评论(0) 推荐(0)