链接 "P4099 [HEOI2013]SAO " 如果真的把这个题当作图去做就炸了……还是考虑树怎么做。 因为这个不是选父亲才能选子树,他是树型依赖背包的升级版,存在选子树才能选父亲的情况。 设$f_{i,j}$表示$i$节点的子树,$i$号节点在这个子树的拓扑位置为$j$的方案数。 这样的好处在 ...
分类:
其他好文 时间:
2018-10-25 21:42:25
阅读次数:
178
最近在做要执行很复杂的sql.然后在文件输出的时候出现了一堆小文件: 为啥要对小文件进行合并一句话总结为:文件数目过多,增加namenode的压力。因为每一个文件的元数据信息都是存在namenode上面的。所以要减少小文件的数据量。 同时也是降低下一个程序处理这些小文件,启动和小文件一样数量的map ...
分类:
其他好文 时间:
2018-10-23 21:05:43
阅读次数:
623
版本说明:Spark-2.3.0 使用Spark SQL在对数据进行处理的过程中,可能会遇到对一列数据拆分为多列,或者把多列数据合并为一列。这里记录一下目前想到的对DataFrame列数据进行合并和拆分的几种方法。 1 DataFrame列数据的合并例如:我们有如下数据,想要将三列数据合并为一列,并 ...
分类:
其他好文 时间:
2018-10-19 02:19:29
阅读次数:
360
左偏树就是一个应该用堆维护的区间,然后需要进行合并操作而发明的算法,其实这个算法没什么难的,和树剖有点像,维护几个数值,然后递归回来的时候就可以修改。 题干: 代码: ...
分类:
其他好文 时间:
2018-10-18 00:59:39
阅读次数:
159
MapReduce概述 一:mapTask阶段 a):默认通过TextInputFormat组件调用RecoredReader的read()方法读取指定路径的文件,返回K-V,读取一行调用一次map()方法 二:shuffler机制 a):mapTask中通过OutputCollector将结果写入 ...
分类:
其他好文 时间:
2018-10-15 14:26:44
阅读次数:
161
meshgrid的目的是生成两套行列数一致的矩阵,其中一个是行重复,一个是列复制;可以这么来理解,通过ravel()将矩阵数据拉平之后,就可以将这两套矩阵累加在一起,形成一个两行数据,要达到这个效果是需要行列相同,这样就能够理解meshgrid行为了。 比如下面的数据,是原始的两个数组: t01: ...
分类:
其他好文 时间:
2018-10-14 20:42:28
阅读次数:
220
一、左倾堆的介绍 左倾堆(leftist tree 或 leftist heap),又被成为左偏树、左偏堆,最左堆等。它和二叉堆一样,都是优先队列实现方式。当优先队列中涉及到"对两个优先队列进行合并"的问题时,二叉堆的效率就无法令人满意了,而本文介绍的左倾堆,则可以很好地解决这类问题。 左倾堆的定义 ...
分类:
其他好文 时间:
2018-10-14 16:18:42
阅读次数:
205
Git 常用命令详解 Git 是一个很强大的分布式版本控制系统。它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势。 1.Git文件操作 Git分支操作相关命令 Git远程分支管理 Git版本回退操作相关命令 Git标签操作相关命令 Git子模块(submodule)相关操作命 ...
分类:
其他好文 时间:
2018-10-11 19:03:52
阅读次数:
142
NameNode主要保存了下面的内容 1-Block和文件之间的关系,即某一个特定文件都有哪些Block; 2-每一个Block存储在什么位置(DataNode上面); NameNode如何保证元数据的可靠性 fsimage 和内存中保存的元数据互为镜像; edits.log中存储了一段时间内所有的 ...
分类:
其他好文 时间:
2018-10-10 14:22:32
阅读次数:
200
前言: Mapreduce程序的效率的瓶颈在于两点: MapReduce优化方法 数据输入: (1)合并小文件:在执行任务前将小文件进行合并 (2)采用CombineTextInputformat来作为输入,解决输入端大量小文件的场景。将多个小文件从逻辑上规划到一个切片中,这样,多个小文件就可以交给 ...
分类:
其他好文 时间:
2018-10-09 13:56:00
阅读次数:
175