————数据结构————
eIectron
优美的代码是成功AC的第一步。看着那么多博客不再更新,这就是我几年后的状态吗?要是走了就再也不回来了。
展开
-
CCCC团体天梯赛-树的遍历 + 玩转二叉树
这里直接两个一起写了,因为这两个题目的类型是一模一样的。玩转二叉树那我一开始想法有点错误,因为我并不知道中序遍历前序遍历其实是怎么得到的,然后推出了一个没有规律的式子。。。先看树的遍历L2-006. 树的遍历时间限制 400 ms内存限制 65536 kB代码长度限制 8000 B判题程序 Standard原创 2016-07-11 10:49:39 · 441 阅读 · 0 评论 -
Codefroces 438D. The Child and Sequence(线段树)
题目链接:http://codeforces.com/contest/438/problem/D昨晚,吉如一老师做客51Nod给我们讲解了线段树lazy标记的应用,其中,这是最简单的那道题(???)。这道题目,如果是想完全暴力修改一个区间取模的话,显然是不行的,复杂度太高。这时候,jls教我们用lazy标记去做这道题。首先,我们有一个结论,有一个数字x,对p取模,如果x = p,那么,原创 2017-03-27 19:57:54 · 323 阅读 · 0 评论 -
CodeFroces 817D Imbalanced Array(单调栈)
题意:就是求出所有区间最大值减去最小值的和。解法:学了一波单调栈。用单调栈正反跑一遍得到每个数字若是最小值的时候能在的区间的范围。正反跑一遍得到每个数字若是最大值的时候能在区间的范围。然后求一求每个数字在多少个区间里面,求出贡献度,然后即可得出答案。代码如下:#include#include#include#include#include#include#inc原创 2017-08-21 18:02:31 · 219 阅读 · 0 评论 -
SCU 2511 Moooo(单调栈模板题)
题意:给出n头牛,每头牛都会发出一个噪声,为v[i]。这个噪声只会被与他相邻高度严格比他高的牛所听到,问牛收到的最大的噪音是多少。解法:因为我是在黄学长博客上找的题目23333,所以就是一道单调栈的模板题了。BZOJ又把这题藏起来了,还好SCU上面有这道题。直接正着跑一遍,如果当前牛的高度低于栈顶牛的高度,则入栈,否则,让栈里面高度比他低的牛都出栈,并且对应的噪声加到当前牛上面,然后再把这原创 2017-08-21 15:04:53 · 611 阅读 · 0 评论 -
BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊(分块)
http://www.lydsy.com/JudgeOnline/problem.php?id=2002学习分块的时候找到的一道比较模板的题目。一开始我都想不懂如何分块。后来看到别人的,是说,每个块里面的元素都记录下它需要几步才能离开这个块,并且到达的下一个坐标是多少。这样的话,对于第一个问题,给定一个坐标问多少步弹飞,最坏的运算量是走完全部分块,也就是sqrt(n)。对于第二个问原创 2017-07-14 16:06:26 · 222 阅读 · 0 评论 -
POJ 1686 Lazy Math Instructor(数据结构-表达式树)
题目链接:http://poj.org/problem?id=1686这道题是wls在51nod上直播时候挂出来的一道题,当时讲的是随机化来过这道题,我觉得随机化很好玩于是就去写了。但是。。。这题的难点就不是随机化的样子,而是数据结构,表达式树。一开始并不知道有这么一个东西,然后翻到了紫书的P353,发现有这样一个模版,理解了一下,然后抄下来,自己写个计算表达式树的函数,即可。表达式树原创 2017-04-06 15:27:11 · 505 阅读 · 0 评论 -
HDU 3047 Zjnu Stadium(带权并查集)
http://acm.hdu.edu.cn/showproblem.php?pid=3047题意:有n个点,m个条件,依次读入这m个条件,当遇到两个点已经联通的时候,判断一下a到b的距离是否等于x。注意:该题目所给的a,b是固定的方向,即a到b,如果有1 2 100和3 1 200的条件,2到3的距离则应该是-300。做法:判断是否联通,可以用并查集来做。但是这题目又存在有向的边权,所原创 2017-03-13 21:42:30 · 228 阅读 · 0 评论 -
HDU 1710 Binary Tree Traversals(前序中序后序遍历)
http://acm.hdu.edu.cn/showproblem.php?pid=1710题意:已知前序和中序遍历求后序遍历这道题目按照我一开始的方法我发现做不了。。。因为他肯定有数据是专门比如一直左子树的,我用数组像写线段树那样模拟二叉树是不可取的,毕竟2的10000次方,根本开不出来这样的数组。后来看了看,发现,啊啊啊啊啊???这根本不需要存在数组啊,直接输出就行啊,详情看代码。原创 2017-03-12 17:27:37 · 264 阅读 · 0 评论 -
C - Just a Hook(写的第一道线段树区间更新的题目,卡了半天)
C - Just a HookTime Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uDescriptionIn the game of DotA, Pudge’s meat hook is actually the most horrible thing for mos原创 2016-04-28 20:31:38 · 437 阅读 · 0 评论 -
POJ 1984 Navigation Nightmare(带权并查集)
题目链接:http://poj.org/problem?id=1984题目大意,一开始给出一个n和m,分别代表一共有n个节点,m次操作,每次操作花费一秒,按照顺序执行。然后有k次询问,询问有三个变量f1,f2,i,问f1和f2的哈密顿距离是多少。哈密顿距离就是两个点坐标各自相减取绝对值,|x1 - x2|+ |y1 - y2|。样例就是题目上面那个图。i是询问第几秒时候他们是否联通,若联通则输原创 2017-03-18 00:07:43 · 479 阅读 · 0 评论 -
并查集例题-The Suspects
The SuspectsTime Limit: 1000MS Memory Limit: 20000KTotal Submissions: 30831 Accepted: 14987DescriptionSevere acute respiratory syndrome (SARS), an atypical pneu原创 2016-04-17 15:22:41 · 397 阅读 · 0 评论 -
树状数组扩展 2016杭电多校赛contest4第十二题 Bubble Sort
Bubble SortTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 741 Accepted Submission(s): 441Problem DescriptionP is a permutation o原创 2016-07-31 11:07:47 · 673 阅读 · 0 评论 -
CCCC团体天梯赛练习题-排座位
L2-010. 排座位时间限制 150 ms内存限制 65536 kB代码长度限制 8000 B判题程序 Standard 作者 陈越布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主原创 2016-07-11 10:41:53 · 3132 阅读 · 2 评论 -
Vijos 1514 天才的记忆(ST表)
ST表是一种预处理状态,然后利用RMQ O(1)查询答案的技巧,这是在黄学长博客上找到的最简单的ST表来写了一法,大致明白什么意思。ST表难点在于状态转换方程,如果将转换方程换一换又可以求其他东西。本题中的dp[i][j]代表的是从第i个数字开始到i+2^j-1这些数字里面的最大值。比如i=3,j=4,那么dp[3][2]存放的是3到3+2^4-1中的最大值,即[3,18]中最大值。R原创 2017-09-27 16:03:14 · 301 阅读 · 0 评论