摘要: 贪婪算法 贪心算法自顶向下,常规递归-》尾递归-》迭代。每次看一个解。 贪心算法的选择: 1.一个全局最优解可以通过局部最优(贪心)来选择达到。 2.我们所做的选择总是当前看起来最佳的的选择,然后再解决选择之后出现的子问题,可能依赖已经作出的选择但是不会依赖还没有做出选择的子问题。 3.证明在每一步 阅读全文
posted @ 2016-04-27 20:25 指尖泛出的繁华 阅读(301) 评论(0) 推荐(0)
摘要: 讲得不错的 有参考过的 一点经验:如果是多次实时查询用rmq 如果是一次性全部输入则用tarjan 倍增法:求lca看一下。 poj,1330 最近公共祖先的tarjan离线算法,一次性批处理,然后再query 注意建边,注意访问,注意基于dfs,注意寻找根节点,并查集的运用; 1 #include 阅读全文
posted @ 2016-04-26 23:17 指尖泛出的繁华 阅读(221) 评论(0) 推荐(0)
摘要: 讲得不错: 11111 Poj,3253 //Huffman每次选最小的两个加和最小,最后结果最小。 1 #include <iostream> 2 #include <queue> 3 #include <vector> 4 #include <algorithm> 5 #include <cst 阅读全文
posted @ 2016-04-25 22:23 指尖泛出的繁华 阅读(172) 评论(0) 推荐(0)
摘要: 后缀数组 后缀数组2 阅读全文
posted @ 2016-04-25 21:20 指尖泛出的繁华 阅读(96) 评论(0) 推荐(0)
摘要: 讲得不错:hash hash uva,188 怎么把字符串提取出来,注意一下就可以了。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #include <algorithm> 6 阅读全文
posted @ 2016-04-24 20:48 指尖泛出的繁华 阅读(142) 评论(0) 推荐(0)
摘要: 看到一个讲得很好的:二分图的最大匹配,完美匹配,匈牙利算法 还有一个特别详细的:matching uva,10080 1 #include <iostream> 2 #include <cstdio> 3 #include <cmath> 4 #include <cstring> 5 #includ 阅读全文
posted @ 2016-04-23 09:31 指尖泛出的繁华 阅读(854) 评论(0) 推荐(0)
摘要: 讲得挺好的:Spanning Tree 强联通图:边为 c=v*(v-1)/2 uva,544 kruskal求最大生成树,然后求数边里面最小的限制。用到了剪枝的方法,把字符串映射成整数,然后跑一遍就过了。 1 #include <iostream> 2 #include <cstdio> 3 #i 阅读全文
posted @ 2016-04-22 15:55 指尖泛出的繁华 阅读(413) 评论(0) 推荐(0)
摘要: 今天看到的一篇博文,超赞 心得:Topsort不仅用于job/work的排序,字典序的排序,还可以适用于任意具有偏序关系的问题, 只要可以把问题转换为有向无环图,然后知晓其偏序,之后就是表示边/入度,然后用拓扑排序的思想去计算。 注意拓扑排序的唯一性是在全序关系的条件下建立起来的 注意拓扑排序是针对 阅读全文
posted @ 2016-04-20 20:45 指尖泛出的繁华 阅读(195) 评论(0) 推荐(0)
摘要: 具体的讲解参考: 讲得浅显易懂。 uva,10608 1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 const int maxn=30005; 7 8 int id[maxn]; 9 int sz[max 阅读全文
posted @ 2016-04-20 16:15 指尖泛出的繁华 阅读(148) 评论(0) 推荐(0)
摘要: memset每个字节为单位 fill成块 阅读全文
posted @ 2016-04-19 22:16 指尖泛出的繁华 阅读(95) 评论(0) 推荐(0)