随笔分类 -  ACM/数据结构

摘要:link mean 给定n个数,按照构造Binary Search Tree的方式来构造BST树,按顺序输出每一个非root结点的父节点的值。 analyse 构造BST树最坏情况下时间复杂度为O(n),肯定会超时。 注意到只需要输出结点的父节点的值,不需要真的构造BST树。 插到第i个结点时,我们 阅读全文
posted @ 2016-05-20 17:55 北岛知寒 阅读(440) 评论(0) 推荐(0) 编辑
摘要:树的概念 树(Tree)是n(n≥0)个结点的有限集。在任意一棵非空树中:(1)有且仅有一个特定的被称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。 结点拥有的子树数称为结 阅读全文
posted @ 2016-05-19 19:58 北岛知寒 阅读(303) 评论(0) 推荐(0) 编辑
摘要:写在前面 昨天有同学问到我一题关于重构二叉树的问题(link),做了一下,也做个记录吧! 所谓二叉树的重构,就是给你前序和中序,或者中序和后序,让你还原这棵二叉树. 注意:给出前序和后序是不能唯一确定一棵二叉树的,证明请看这儿. 一.给出前序和中序,重构二叉树 一个递归的过程: 当前结点的value 阅读全文
posted @ 2016-01-04 21:19 北岛知寒 阅读(1663) 评论(0) 推荐(2) 编辑
摘要:E. Misha and LCP on Tree Problem's Link Mean: 给出一棵树,每个结点上有一个字母。每个询问给出两个路径,问这两个路径的串的最长公共前缀。 analyse: 做法:树链剖分+后缀数组. 记录每条链的串,正反都需要标记,组成一个长串. 然后记录每条链对应的串在 阅读全文
posted @ 2015-12-17 10:42 北岛知寒 阅读(213) 评论(0) 推荐(0) 编辑
摘要:2. Add Two Numbers Problem's Link ---------------------------------------------------------------------------- Mean: 给你两个数字链表,让你将两个链表相加,结果保存在一个新链表中. a 阅读全文
posted @ 2015-12-05 17:40 北岛知寒 阅读(120) 评论(0) 推荐(0) 编辑
摘要:Karin的弹幕 Problem's Link Mean: 给定一个长度为n(1≤n≤70000)序列,有m(1≤m≤70000)次操作: 1. 对一段下标是等差数列的子序列求最大值; 2. 单点修改. analyse: 如果公差很大,那么速度是很快的。所以我们考虑阈值. Time complexi 阅读全文
posted @ 2015-10-10 18:17 北岛知寒 阅读(297) 评论(0) 推荐(0) 编辑
摘要:我们在学习二叉树的遍历时,都会不可避免的学到二叉树的三种遍历方式,分别是遵循(根-左-右)的前序遍历、遵循(左-根-右)的中序遍历以及遵循(左-右-根)的后序遍历。并且每一个二叉树都可以用这三种遍历方式并且分别转换为字符串序列,以便在计算机上面保存。但是我们在进行逆向操作的时候却会遇到困难:我们并... 阅读全文
posted @ 2015-10-10 18:14 北岛知寒 阅读(331) 评论(0) 推荐(0) 编辑
摘要:Kefa and Watch Problem's Link Mean: 给你一个长度为n的字符串s,有两种操作: 1 L R C : 把s[l,r]全部变为c; 2 L R d : 询问s[l,r]是否是周期为d的重复串。 analyse: n最大为1e5,且m+k最大也为1e5,这就要求操作1和操 阅读全文
posted @ 2015-10-01 00:54 北岛知寒 阅读(762) 评论(0) 推荐(0) 编辑
摘要:Life Forms Problem's Link Mean: 给你n个串,让你找出出现次数大于n/2的最长公共子串。如果有多个,按字典序排列输出。 analyse: 经典题。 直接二分判断答案。 判断答案p时,我们扫一遍height数组,如果height[i]<p时开辟一个新段。 判断时用set存 阅读全文
posted @ 2015-09-02 23:33 北岛知寒 阅读(600) 评论(0) 推荐(0) 编辑
摘要:Boggle Problem's Link: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1457 Mean: 给定n个串,有m个询问。 每个询问给你一个4*4的字符矩阵,你可以在这个字符矩阵中任意字符出发,向四个方向走(已走过的不可重复走),走 阅读全文
posted @ 2015-08-27 23:37 北岛知寒 阅读(938) 评论(0) 推荐(0) 编辑
摘要:Revolving Digits Problem's Link Mean:给你一个字符串,你可以将该字符串的任意长度后缀截取下来然后接到最前面,让你统计所有新串中有多少种字典序小于、等于、大于原串。 analyse:KMP的经典题。首先我们将原串扩展成两倍,算一遍扩展KMP(自匹... 阅读全文
posted @ 2015-08-25 22:54 北岛知寒 阅读(355) 评论(0) 推荐(0) 编辑
摘要:题目来源 [The 2014 ACM-ICPC Asia Xi’an Regional Contest Problem G] 题目描述 给你两个字符串,求这两个字符串相同回文串的匹配对数。 思路分析 每个字符串建一棵回文树,分别从0结点和1结点两棵树一起往下dfs,对于同一条路径上的结点,一定是相同 阅读全文
posted @ 2015-08-22 16:15 北岛知寒 阅读(403) 评论(0) 推荐(0) 编辑
摘要:写在前面 最近无意中看到了这个数据结构,顺便也就学习了一下。 而且发现网上关于这个算法的描述有很多地方是错的,在这里做了一些更正。 处理字符串的算法很多: KMP, E-KMP, AC自动机, 后缀三兄弟:后缀树、后缀数组、后缀自动机,Trie树、Trie图,符串hash... 但以上数据结构在处理 阅读全文
posted @ 2015-08-19 15:38 北岛知寒 阅读(7082) 评论(3) 推荐(6) 编辑
摘要:BZOJ 3676 回文串 Problem's Link: http://www.lydsy.com/JudgeOnline/problem.php?id=3676 Mean: 略 analyse: 由于构造完回文自动机后,len[i]表示第i个回文串的长度,cnt[i]表示第i个回文串出现的次数, 阅读全文
posted @ 2015-08-19 14:18 北岛知寒 阅读(501) 评论(0) 推荐(0) 编辑
摘要:Подпалиндромы Problem's Link: http://informatics.mccme.ru//mod/statements/view.php?chapterid=1750# Mean: 给你一个长度不超过1e5的字符串,要统计总共有多少个回文串。(第一次刷俄语题,还好有goo 阅读全文
posted @ 2015-08-17 19:15 北岛知寒 阅读(342) 评论(0) 推荐(0) 编辑
摘要:Palindromes and Super Abilities Problem's Link: http://acm.timus.ru/problem.aspx?space=1&num=1960 Mean: 给你一个长度为n的字符串S,输出S的各个前缀中回文串的数量。 analyse: 回文树(回文 阅读全文
posted @ 2015-08-17 16:08 北岛知寒 阅读(266) 评论(0) 推荐(0) 编辑
摘要:City Park Problem's Link: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=129725 Mean:在网格中给你一些矩形,求最大连通块的面积。 analyse:由于题目保证了矩形不会相... 阅读全文
posted @ 2015-08-10 14:30 北岛知寒 阅读(206) 评论(0) 推荐(0) 编辑
摘要:Magician Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5316 Mean:n个数,2种操作,1是单点更新,2是询问区间内序号为奇偶交错的和。 analyse: 难点就在查询,分别把下一个区间的奇... 阅读全文
posted @ 2015-07-29 22:08 北岛知寒 阅读(154) 评论(0) 推荐(0) 编辑
摘要:Seek the Name, Seek the Fame Problem's Link: http://poj.org/problem?id=2752 Mean:给你一个字符串,求这个字符串中有多少前缀是和后缀相等的, 按递增顺序输出这些前缀的长度。 analyse: KM... 阅读全文
posted @ 2015-07-28 09:18 北岛知寒 阅读(385) 评论(0) 推荐(0) 编辑
摘要:Power Strings Problem's Link: http://poj.org/problem?id=2406 Mean:给你一个字符串,让你求这个字符串最多能够被表示成最小循环节重复多少次得到。 analyse: KMP之next数组的运用。裸的求最小循环节。 ... 阅读全文
posted @ 2015-07-28 08:39 北岛知寒 阅读(185) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩