问题描述:给定两个序列,判断是否为对应合法的入栈出栈序列? * 若序列元素没有重复 我想到大概三种方式,三者的前置操作均为先将元素与序列对应起来,java中放入map即可,map.put(元素 , 入栈序列) 后续判断序列是否合理即可 假设给定入栈元素: 1,3,4,7,2,8 对应序列: 1,2, ...
分类:
其他好文 时间:
2018-03-03 14:05:59
阅读次数:
161
Catalan数列:1 1 1 2 5 14 42 132 429 1430 4862 16796 【计数映射思想】 参考:卡特兰数 — 计数的映射方法的伟大胜利 计数映射:将难以统计的数映射为另一种形式的可以统计的数。 一、入栈出栈序 n个数字,有多少种合法的入栈出栈序列?n=3时的合法序列之一: ...
分类:
编程语言 时间:
2018-01-06 11:55:25
阅读次数:
128
挺好的题 看到移动子树和子树加法,首先应该想到用平衡树维护dfs序 到根路径之和?(陷入沉思 我们做一点微小的工作改动,把dfs序换成入栈出栈序列$s$,每个点入栈时记权值为正,出栈时记权值为负 容易看出$\sum\limits_{k=1}^{ind_i} s_k$就是根到$i$路径上的权值和,其中 ...
分类:
其他好文 时间:
2017-09-16 20:28:28
阅读次数:
167
卡特兰数非常经典,很多现实的问题都是卡特兰数,如合法的入栈出栈序列有多少种就是卡特兰数,为什么呢?我们可以把0看成入栈操作,1看成出栈操作,即0的累计个数不小于1的排列有多少种。还有很多其他的问题都是卡特兰数,如二叉树的个数,有序树的个数,多边形分成三角形的个数等。 卡特兰数的通项是c(2n, n) ...
分类:
其他好文 时间:
2017-08-07 10:00:52
阅读次数:
219
题意 给定一棵 n 个节点的树. 这棵树以 1 为根, 每个点有点权. 在树上支持三种操作: ① 查询以 x 为根的子树的点权之和; ② 将以 x 为根的子树中的每个点的点权增加 w ; ③ 将 以 x 为根的子树转移到 y 的直接后继. $n \le 100000$ . 实现 ...
分类:
其他好文 时间:
2017-08-03 22:03:28
阅读次数:
204
题意 给定一棵 n 个节点, 点有点权, 以 1 为根的有根树. m 次操作: ① 查询点 d 到根的点权之和. ② 将 x 及其子树截出来, 作为 y 的儿子. ③ 将以 p 为根的子树的点权增加 q . $n \le 100000$ . 实现 ...
分类:
其他好文 时间:
2017-08-03 20:24:50
阅读次数:
182
【算法】Catalan数 【题解】 学了卡特兰数就会啦>_<! 因为奇偶各自递增,所以确定了奇偶各自的数字后排列唯一。 那么就是给2n个数分奇偶了,是不是有点像入栈出栈序呢。 将做偶数标为-1,做奇数标为+1,显然当偶数多于奇数时不合法,因为它压不住后面的奇数。 然后其实这种题目,打表就可知啦……Q ...
分类:
其他好文 时间:
2017-07-20 23:58:33
阅读次数:
414
【BZOJ2819】Nim Description 著名游戏设计师vfleaking,最近迷上了Nim。普通的Nim游戏为:两个人进行游戏,N堆石子,每回合可以取其中某一堆的任意多个,可以取完,但不可以不取。谁不能取谁输。这个游戏是有必胜策略的。于是vfleaking决定写一个玩Nim游戏的平台来坑 ...
分类:
编程语言 时间:
2017-06-18 15:09:52
阅读次数:
218
题目大意:给定一棵有根树,提供下列操作:
1.询问某个点到根路径上的点权和
2.修改某个点的父亲,保证修改之后仍然是一棵树
3.将某个点所在子树的所有点权加上一个值
子树修改,LCT明显是搞不了了,在想究竟会不会有人去写自适应Top-Tree……
首先我们DFS搞出这棵树的入栈出栈序 然后入栈为正出栈为负
那么一个点到根的路径上的点权和就是从根节点的入栈位置到这个点的入栈位置的和
子...
分类:
其他好文 时间:
2014-12-01 17:41:14
阅读次数:
139
题目大意:给出一棵树,要求有以下这些操作:1.求出一个节点到根的点权和。2.将一个节点的父亲改变。3.将一个子树中的每一个节点都加上一个权值。
思路:LCT就不用想了,因为有子树操作。然后就是一个很神奇的东西了,就是Splay维护树的入栈出栈序。这个玩应是做了这个题之后才知道的。但是感觉真的很dio。
首先,我们先按照题意,将树建出来。然后从根开始深搜,这样一个点进入DFS函数和出DF...
分类:
其他好文 时间:
2014-12-01 17:41:03
阅读次数:
258