
数据结构
文章平均质量分 64
ooooooooe
这个作者很懒,什么都没留下…
展开
-
uva 548 Tree
链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=489好吧,这道题让我对二叉树已经基本熟悉了。通过给出的中序遍历和后序遍历来建立二叉树然后找到路径权值最小的叶。如果存在路径权值相同的叶取叶权值最小的。(给出前序遍历和中序遍历或者给出中序遍历原创 2014-01-21 23:29:35 · 772 阅读 · 0 评论 -
HDU 4819 Mosaic 二维线段树
连接:http://acm.hdu.edu.cn/showproblem.php?pid=4819题意:给出一个800×800以下的矩阵,每次更新一个点的值为以这个点为中心的长度为Li的矩阵内的最大值和最小值的平均值,并且输出这个值。思路:线段树模板题,二维线段树就是一个树套树的情况。题的意义就在于给我带了一个二维线段树的模板,跑了2359ms,结构体的线段树不会被卡。原创 2014-07-25 20:28:09 · 1222 阅读 · 0 评论 -
ZOJ 3602 Count the Trees 树的同构 (哈希)
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4705题意:给出两棵二叉树A和B,问分别处于A中的子树a和处于B中的子树b结构相同的有多少对。思路:哈希的想法,不同的数字对应的是不同的结构,比如1代表着单独的叶子结点,2代表着有左子树是叶子结点而没有右子树的子树...每出现一种新的子树情形就记录下来,记录的方式是原创 2014-09-05 16:58:59 · 1536 阅读 · 0 评论 -
ZOJ 3587 Marlon's String 扩展KMP
扩展KMP的机智应用。原创 2014-09-19 09:59:33 · 1122 阅读 · 0 评论 -
HdU 4046 Panda 线段树
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4046题意:给一由b和w组成的长度为n的字符串(n思路:建一棵线段树,每个结点记录的是从L到R以每个i为最左边的字母的总共的wbw的个数,单点更新的时候要更新三个点。代码:#include #include #include #include #include #include原创 2014-08-09 13:45:14 · 1034 阅读 · 0 评论 -
HDU 4333 Revolving Digits 扩展KMP
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4333题意:给以数字字符串,移动最后若干位到最前边,统计得到的数字有多少比原来大,有多少和原来相同,有多少比原来的小。思路:拓展KMP中的next数组标记的是子串和母串的公共前缀的长度,要将字符串长度变成原来二倍,这样如果变换后不是完全相同的数字也即公共前缀长度大于等于字符串长度,那么字母串公共前缀原创 2014-07-03 22:56:17 · 857 阅读 · 0 评论 -
POJ 2752 Seek the Name, Seek the Fame
题意:给定一个长度为N(N <= 400000)的字符串,求它的前缀等于后缀的所有子串的长度。思路:考察Next数组的定义。不断迭代求N的Next,Next[N]的Next......然后逆序输出即可。原创 2013-08-10 16:14:02 · 701 阅读 · 0 评论 -
POJ 1741 Tree 树形DP(分治)
楼教主的“男人八题”之一,分治思想在树上的应用,也是树形DP问题。原创 2014-09-02 03:00:38 · 1931 阅读 · 0 评论 -
UvaLive 6531 Go up the ultras DP+RMQ
13年南美区域赛现场赛题目。原创 2014-09-26 17:38:50 · 1155 阅读 · 0 评论 -
hdu 1166 敌兵布阵 线段树(单点更新)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166题意:中文题,不多说了。思路:这题以前用树状数组做过,这次用的线段树,当做可参考模板。代码:#include#include#include#include#include#include#include#include#include#include#include原创 2014-02-17 20:26:14 · 955 阅读 · 0 评论 -
POJ 3468 A Simple Problem with Integers 线段树 (成段更新)
链接:http://poj.org/problem?id=3468题意:给你若干点,成段的增加和询问。思路:最基础的线段树成段更新模板题,LAZY-SET的应用,自己写的比较挫,网上的代码写的十分飘逸,当个模板基础用,以后完善。代码:#include#include#include#include#include#include#include#include#in原创 2014-02-20 22:12:35 · 1057 阅读 · 0 评论 -
uva 297 Quadtrees
链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=4&page=show_problem&problem=233题意是建立两颗树,让后将两棵树叠加到一起。每个结点如果值如果是e或者f就没有子结点,如果值是p,就有四个结点。代码写的很挫,每个结点的子结点可以用数组表示。代码:原创 2014-01-23 22:12:25 · 947 阅读 · 0 评论 -
数据结构之线性表题目总结
题目均出自刘汝佳《算法竞赛入门经典》题目都是队列,栈,链表挂钩的。做题目过程中STL和数组模拟两种方式交叉使用,便于加深对于数据结构的理解。"Accordian" Patience uva 127给一副52张的牌,每张牌如果和他左边或左数第三张牌花色相同或者数字相同就把这张牌放到对应牌的上方。统计最后剩几摞牌,每摞牌有几张。思路是建立52个栈,模拟操作,从左开始,每操作一次,从左再原创 2014-01-19 22:07:54 · 1848 阅读 · 0 评论 -
uva 839 Not so Mobile
链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=10&page=show_problem&problem=780题意是一个大天平有许多小天平组成,要保证每个天平的两端都是平衡的,即力臂*力矩相等。从图片看起来就是一颗二叉树,用递归方式建树来计算每个子天平的左边重量和右边重量,并原创 2014-01-27 23:32:07 · 1188 阅读 · 0 评论 -
uva 699 The Falling Leaves
题意是模拟一颗“落叶树”,母结点和子节点的水平距离是1。求从左到到右每列的落叶总数。挺水的一道题,当时就直接想到哪写到哪了。直接建立一颗二叉树,用数组来统一每列的落叶数,根结点对应于数组中央。原创 2014-01-27 23:24:33 · 1152 阅读 · 0 评论 -
uva 712 S-Trees
题意是一颗树,每个叶对应一个值,通过给出一条路径,来找到对应叶的值。方法是用两个数一个表示当前步骤,结点对应叶的第一个叶在数组中的位置,一个标记结点对应的最后一个叶在数组中的位置,通过每一步的路径来不断缩小首尾的范围,走完最后一步以后,首位是相同的数字,即为对应位置。代码:#include#include#include#include#include#include#in原创 2014-01-27 21:22:37 · 949 阅读 · 0 评论 -
uva 112 Tree Summing
链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=48是一道标准的建树遍历问题,给你一个树的构造,也即是先序遍历。然后遍历找出每个叶子从根到叶的权值之和,判断是否与所求相同。二叉树搞得我抓耳挠腮的,还是由于不太熟悉的原因,加上这道题的输入不太好搞原创 2014-01-21 13:34:58 · 937 阅读 · 0 评论 -
POJ 3667 Hotel 线段树(区间合并)
链接:http://poj.org/problem?id=3667题意:一家旅馆,不断有人入住,退房。入住的人要求房号连续,退房是连续房号的房间退掉。思路:线段树LAZY-TAG+区间合并。相比于最基本的线段树,这道题每个“段”中多了三个标记。lsum:从最左端开始连续空房。rsum:从最右端开始连续空房。sum:该段中最长连续空房。s是LAZY-TAG,-1表示无操作,0表示清空操作原创 2014-02-23 23:53:18 · 1009 阅读 · 0 评论 -
POJ 2528 Mayor's posters (线段树+离散化)
链接:http://poj.org/problem?id=2528题意:一面特别特别特别长的墙要贴相对非常短的海报,按给出顺序贴,问贴完后最后还能看见那几张海报。思路:不能用最基本的线段树,因为墙实在太长了,会MLE。用离散化的思想。就是把所有海报的端点从小到大依次标记为1,2...M。(需要去重,所以不一定是2*N个点),其他的与基本线段树相同。代码:#include#incl原创 2014-02-24 00:02:23 · 1051 阅读 · 0 评论 -
手写邻接表
手写实现邻接表,对图或树的边操作速度最快化。原创 2013-11-30 01:36:43 · 1469 阅读 · 2 评论