一点一点的进步

POJ 图论 专辑

转自http://blog.csdn.net/allenjy123/article/details/6627248 红色已经AC 一、最短路 POJ 2449 Remmarguts' Date(中等) http://acm.pku.edu.cn/JudgeOnline/pr...

2012-08-10 16:53:37

阅读数:1518

评论数:1

POJ 3642 长方体体积并 线段树 扫描线

这题就是给出了好多个长方体, 求出那些被覆盖了 3次及以上的体积 我们注意到z的范围很小,而且就给了1000个长方体 那么可以把z坐标离散化 然后在相邻的z坐标空间内,就变成了求面积覆盖 记录三个变量,代表一次覆盖,两次覆盖,三次覆盖及以上 #include #include ...

2012-08-29 14:24:20

阅读数:1063

评论数:0

POJ 2201 RMQ 笛卡尔树

给出一些结点 每个节点有两个关键字 要求构造一棵树 第一个关键字满足二叉搜索树的性质,第二个关键字满足小堆的性质 和1785几乎一模一样 题目还让输出yes 或者no  实际上,因为所有的第一关键字互异,第二关键字也互异,所以一定能构造出来这样的树 这题不用treap的原因我嫌trea...

2012-08-26 15:43:57

阅读数:1352

评论数:0

POJ 2114 树的分治

这题跟1741的不同之处在于查找==k的是否存在 修改一下统计函数即可 #include #include #include #include #include #include #include #include #include #define eps 1e-5 #defi...

2012-08-26 12:44:05

阅读数:1821

评论数:0

POJ 2104 归并树 or 划分树

首先写一下归并树的版本吧 归并树实际上是一种类似于归并排序外加线段树的东西 用到线段树的地方就是划分区间。 我们都知道,线段树是一层一层这样下来的,每层上有若干个区间。 归并树的作用就是,对每一层上的所有区间,其内部都是排好序的。 也就是说,第一层是所有数排好序,第二层划分了两个子区间,...

2012-08-25 23:44:46

阅读数:1011

评论数:0

POJ 2051 堆

这题就是一个小顶堆而已 注意结构体里小于号的重载  重载结果的不同会导致写法的不同 #include #include #include #include #include #include #include #include #include #define eps 1e-...

2012-08-24 16:59:09

阅读数:594

评论数:0

POJ 2010 堆

这题实际上是考察了堆的插入与删除操作,用到的是大顶堆 有人用二分过的此题,我觉得二分的边界处理应该比较麻烦吧,尤其如果数据中出现有分数相同的,确实不好处理 比较直观的思想就是堆了。 我们首先按照分数来进行排序,排序后进行枚举,对枚举的每个位置,看该位置之前最小的n/2个需求与该位置之后的最小...

2012-08-23 00:35:45

阅读数:938

评论数:0

POJ 1785 treap 或 RMQ

本题大意就是。 建立一颗树,每个结点有两个关键字,要求第一个关键字满足二叉搜索树的性质,第二个结点满足堆的性质 首先,要把所有结点按照第一个关键字按非递减排序,这样之后,每个结点左边的结点都比该结点的第一个关键字小,右边的则第一个关键字都比他大。 这样的话按顺序每次插入右子树,因为要...

2012-08-22 14:33:51

阅读数:1747

评论数:0

POJ 1741 树的分治

题意就是求树上距离小于等于K的点对有多少个 n2的算法肯定不行,因为1W个点 这就需要分治。可以看09年漆子超的论文 本题用到的是关于点的分治。 一个重要的问题是,为了防止退化,所以每次都要找到树的重心然后分治下去,所谓重心,就是删掉此结点后,剩下的结点最多的树结点个数最小。 每次分治,...

2012-08-22 02:09:08

阅读数:8250

评论数:2

POJ 1733 并查集 偏移向量

这题也是用到了偏移向量 一个由0,1组成的数字串~~,现在你问一个人一些问题,第i位到第j位的1的个数为奇数还是偶数。他会告诉你答案, 但是答案可能会自相矛盾,现在就是最多能有前几个回答是不矛盾的。 设r[i]表示第1位到第i位的1个数的奇偶状况,r[i] = 0表示有偶数个1,r[i] ...

2012-08-21 11:55:10

阅读数:1594

评论数:0

POJ 1577 二叉搜索树

这题前边说了一堆废话  大意就是给出了一个二叉搜索树,但给出的方式比较奇怪,是删除叶子的顺序。 即把树上的叶子结点给出,然后揪掉这些叶子,把剩下的结点中变成叶子结点的再给出,这样一直到所有的结点都被揪掉。 最后要求这个二叉搜索树的先序遍历 这题解决的方式很简单,按照他给的那些东西,倒着建立二叉...

2012-08-20 23:48:37

阅读数:2365

评论数:0

POJ 1451 字典树

这题的意思有点类似于一个输入法,就是按了一些键,蹦出单词库中频率最高的那个词汇 首先给出的是单词库,每个单词有一个出现频率。 然后给出的是一些询问,每个询问有一个字符串,代表在手机上按了哪些键,最后以1结束。问进行这些按键的过程中出现的单词分别是哪些。 思路就是字典树了。 以手机的8个键做...

2012-08-20 21:48:44

阅读数:1436

评论数:0

后缀数组 不重叠最长重复子串 POJ 1743

题意:有N个音符的序列来表示一首乐曲,每个音符都是1..88范围内的整数,现在要找一个重复的主题。“主题”是整个音符序列的一个子串,它需要满足如下条件:     1.长度至少为5个音符。     2.在乐曲中重复出现。(可能经过转调,“转调”的意思是主题序列中每个音符都被加上或减去了同一个整数...

2012-08-20 14:39:20

阅读数:646

评论数:0

后缀数组之最长公共子串 poj 2774

用后缀数组求两个串的最长公共子串的长度 详见罗穗骞的论文 #include #include #include #include #include #include #define MAXN 1000005 using namespace std; int r[MAXN]; int...

2012-08-20 12:51:32

阅读数:917

评论数:1

后缀数组习题

原文:http://hi.baidu.com/lewutian/blog/item/4d098138d29c34f9b311c725.html 单独把它列出来是因为这个东西真的很神奇~~~ 后缀数组经典思想:多串合并+二分答案+最优性--->可行性 例 1 :最...

2012-08-19 13:23:09

阅读数:2923

评论数:0

POJ 1204 AC自动机

题目就是给出了一个矩阵,由大写字母构成,然后让你查找某些单词在矩阵中出现的位置 出现的方式可能有8种,从某个位置往北连续的字符串,往东北,东........八个方向的只要有满足的 就可以 最后输出位置和方向,然后往北的输出时为A,东北的是B,依次顺时针类推 #include #incl...

2012-08-19 01:40:33

阅读数:1171

评论数:0

POJ 1200 字符串hash

这题没说n的范围。不过根据推测应该是不会很大,否则肯定会TLE 不过这样它仍是一道好题,题的好坏跟难易度没有太大的关系。关键是想法很重要 这题巧妙在将字符串看做一个nc进制的数,很显然,如果两个数在nc进制下不同,在十进制下也是不同的  然后根据这个转成10进制来搞就行了 #include ...

2012-08-18 15:11:53

阅读数:935

评论数:0

常用字符串hash函数

[cpp] view plaincopy 常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用      位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,      这些函...

2012-08-18 15:07:40

阅读数:974

评论数:0

POJ 1186 hash 线性探测再散列

一直以来我都觉得线性探测再散列这个方法一定很低效 结果碰到今天这题之后我惊奇的发现 链表居然被线性探测再散列秒杀了 这个hash方法是将大数取模,放到一个位置上,如果这个位置被占用了,就往后移1格,再被占再移动知道能 放到某个位置上。详细见数据结构书 真是太神奇了 懒得写DFS  直接fo...

2012-08-18 14:19:00

阅读数:1175

评论数:0

POJ 2019 二维RMQ

题意很简单 就不说了 为了把它推广成矩形的 写了这种查询是O(n)的方法 当然还有O(1)的矩形的方法了 只不过太麻烦了 但是对于正方形来讲 还是比较好弄的 #include #include #include #include #include #include #in...

2012-08-17 17:10:35

阅读数:1693

评论数:1

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