自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liuzhushiqiang的专栏

GEEK改变世界!

  • 博客(11)
  • 收藏
  • 关注

原创 【图论06】最小生成树 1002 畅通工程

算法思路:并查集。 其实这一题没有用到最小生成树,因为求连通分支的个数只要用到并查集,而最终的结果就是:count - 1。 当然老规矩count为0的时候需要单独讨论。 //模板开始 #include #include #include #include #include #include #include #include

2013-06-29 12:52:04 727

原创 【图论06】最小生成树 1001 Constructing Roads

算法思路:Kruskal + 并查集。 //模板开始 #include #include #include #include #include #include #include #include #include #include #include #include #include #inclu

2013-06-29 11:01:43 595

原创 【图论05】并查集 1005 More is better

开始用普通的并查集,一直TLE,后来看到大牛的代码,领悟到可以在findset函数被执行的过程中进一步压缩路径,这样的话下次如果执行findset时同样的路径会快很多,因为上次走同样路劲的时候已经把“长链”拉直了。 还有大牛说需要离散化,能够达到优化,这里没有采用。 //模板开始 #include #include #include #include #

2013-06-28 20:40:22 558

转载 POJ 并查集 题目汇总 ——czyuan原创

继续数据结构的复习,本次的专题是:并查集。       并查集,顾名思义,干的就是“并”和“查”两件事。很多与集合相关的操作都可以用并查集高效的解决。        两个操作代码:        int Find(int x)        {           if (tree[x].parent != x)           {               tree[x].p

2013-06-28 20:00:49 621

原创 【图论05】并查集 1003 Is It A Tree?

算法思路:并查集,判断连通并且无环,只有一个0入度顶点。 无环条件:边数 + 1 = 顶点数。 连通条件:只有1个或者0个(回路)顶点满足 next_node[j] == j && flag[j] != 0。 //模板开始 #include #include #include #include #include #include #

2013-06-28 13:06:21 725

原创 【图论05】并查集 1002 小希的迷宫

算法思路;1.经典的并查集;2.连通且不存在回路条件:边数 + 1 = 顶点数 注意陷阱(测试数据本身设计不太合理):   0 0 Yes   1 1 0 0  Yes //模板开始 #include #include #include #include #include #include #include #incl

2013-06-28 12:10:17 598

原创 【图论07】线段树 1001 敌兵布阵

第一次提交的时候TLE,最后改成C输入输出成功AC,耗时156ms。 通过尝试用不同格式的代码提交之后,发现一个问题,性能影响:输出 > 输入 > 字符串比较(这里更多的是char* 和 string的性能差异)。所以在细节上进行性能优化的时候,应该优先考虑输出、输入。 算法思路:考察树状数组,区间信息的维护和查询方法。 //模板开始 #include #include

2013-06-26 12:11:16 560

原创 【练习04】 字典树 1006 统计难题

这一题数组要开到百万级,如1000005,不然会RE。 解题思路:字典树,为了最后统计出前缀被包含的次数,需要在构造trie的时候增加一个数组记录经过每个节点的路径数。 //模板开始 #include #include #include #include #include #include #include #include

2013-06-25 19:11:10 513

原创 【图论05】并查集 1001 Play on Words

题意:将n个单词首尾相连组成一个单词链,如:acm->malform->mouse(a -> m -> m -> m ->m -> e)    并查集+欧拉路实现       1.并查集判连通,这点不用多说       2.欧拉路,由图中可知除二端点外,其余字母的入度和出度均相等,二端点的出度和入度相差1,还有一种可能是,整个图就是一个欧拉回路,此时每个端点的入度和出度均相等

2013-06-24 20:52:00 564

原创 【练习03】 KMP 1006 Count the string

如果枚举所有前缀并且调用find函数会超时,但是我们思考一下就能发现只要遍历数组f,当f的值非0,count就加1(包括f[n]),最后加上字符串长度n就是最终的结果。(仔细理解) 最后还要注意的是题目要求输出mod 10007. //模板开始 #include #include #include #include #include #include

2013-06-21 21:00:31 628

原创 【练习03】 KMP 1004 Period

kmp,依次求字符串前缀的最小循环节, AC耗时500ms,但是在statistic里看到有人50msAC, 可能原因: 1.输入输出的优化 2.用了更神奇的算法。 //模板开始 #include #include #include #include #include #include #include #include #i

2013-06-21 16:28:53 515

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除