码迷,mamicode.com
首页 >  
搜索关键字:叶子    ( 2578个结果
组合模式
组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致方式处理个别对象以及对象组合。(1)组合模式以单一责任设计原则换区透明性。什么是透明性,通过让组件的接口同时包含一些管理子节点和叶子节点的操作,客户就可以将组合和叶子节点一视同仁(2)当你有个对象的集合,他们彼此之间...
分类:其他好文   时间:2015-10-08 01:47:43    阅读次数:307
hdu 4521 小明系列问题——小明序列(线段树 or DP)
题目链接:hdu 4521 本是 dp 的变形,却能用线段树,感觉好强大。 由于 n 有 10^5,用普通的 dp,算法时间复杂度为 O(n2),肯定会超时。所以用线段树进行优化。线段树维护的是区间内包含某点的最大满足条件的长度,叶子节点以该元素结尾,最长长度。至于相邻两项隔 d 个位置,求...
分类:其他好文   时间:2015-10-08 00:34:46    阅读次数:169
设计模式--组合模式
叶子对象和组合对象实现相同的接口。这就是组合模式能够将叶子节点和对象节点进行一致处理的原因。基本概念:组合模式[构造性设计模式]定义了如何将容器对象和叶子对象进行递归组合,使得客户在使用的过程中无须进行区分,可以对他们进行一致的处理。组合模式的角色:Component :组合中的对象声明接口,在适当...
分类:其他好文   时间:2015-10-08 00:18:15    阅读次数:238
树——线段树
线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N..
分类:其他好文   时间:2015-10-06 22:19:56    阅读次数:232
hdu 5475 模拟计算器乘除 (2015上海网赛F题 线段树)
给出有多少次操作 和MOD 初始值为1 操作1 y 表示乘上y操作2 y 表示除以第 y次操作乘的那个数线段树的叶子结点i 表示 第i次操作乘的数 将1替换成y遇到操作2 就把第i个结点的值 替换成1利用线段树的性质,对整个1~n的区间进行维护,每次输出sum[1]的值即可Sample Inp...
分类:其他好文   时间:2015-10-02 01:25:00    阅读次数:241
忽然之间才明白的一些事儿
上运筹学课的时候,想起数据结构里学的树和图;学DOM文档结构的时候,又想起数据结构里的树,根节点,兄弟节点,叶子节点;学习线代的时候,又想起了当初学数据结构里的矩阵;后来又陆续的学Java,JavaScript,PHP,才发现面向对象的思想是多么的重要,才恍然明白数据结构和C++这两课为之后的学习带...
分类:其他好文   时间:2015-10-01 21:42:27    阅读次数:191
bzoj-2212 Tree Rotations
题意: 给出一个二叉树,叶子结点上有权值; 共有n个叶子结点,权值分别为1-n; 现可将所有结点的左右儿子交换,求最小的逆序对数; 2 题解: 这题读入有点鬼畜,但是写起来还是比较优雅的; 考虑到一个结点的子树具体形态与它是否和它的兄弟交换是无关的; 所以我们可以像分治一样,先计算子树之间的最小逆序对数; 然后将所有的权值扔到一个线段树中,向它的父亲传递; 它的父亲是没...
分类:其他好文   时间:2015-09-30 13:08:06    阅读次数:210
Codeforces Round #322 (Div. 2)
F. Zublicanes and Mumocrates 树形dp题意给了一棵树 要求使得这棵树所有的节点分为两个阵营,其中叶子节点要均分,求最少的两个阵营相邻, 也就是求 最少的边使得 这些边两头阵营不同dp[cur][i][j] 表示当cur为i阵营的时候 有j个和i同阵营的方案dp[cur][...
分类:其他好文   时间:2015-09-29 01:09:32    阅读次数:289
poj2828 Buy Tickets
维护一个动态序列。给定前k的数的一个排列σ(1)...σ(k),表示第k个人占据当前序列的第σ(k)位置。考虑将第k+1个人插入到原序列的第p位(其中p≤ k),后面的人向后各移动一位。线段树的叶子节点表示静态序列此处位置对应当前动态序列的位置序号。从后往前不断寻找合适位置再更新即可。对于重复元素只...
分类:其他好文   时间:2015-09-28 18:52:16    阅读次数:221
HDU 5469 Antonidas (树形DP,暴力)
题意: 给一棵n节点的树图,每个点都是一个小写字母,要求找到两个点(a,b),从a->b的路径上形成了一个字符串为s。给出s,问是否存在这样的点对。思路: 考虑一个点,要么从该点出发,要么在该点结束,要么它作为一个中间点将左右两个串连起来成为s。叶子只能是起点或者终点。在每个点中需要保存两个队列.....
分类:其他好文   时间:2015-09-26 19:53:46    阅读次数:230
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!