2014-10-26 Xie Jingyi
题目 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度。现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为:$\sum_{i=1}^{n}{(a_i-b_i)^2}$ ,其中 ai表示第一列火柴中第 i 个火柴的高度,bi表示第二列火柴中第 i 个火柴的高度。 每列火柴中相邻两根火柴的位置都可以交换,请你通过交换使得两列火柴之间的距离最小。请问得到这个最小的距离,最少需要交换多少次?如果这个数字太大,请输出这个最小交换次数对 99,999,997 取模的结果。 分析 这真是一道好题——断断续续想了几天才完全AC。 事实上,由排序不等式可知: 当$a_i, b_i$从小到大排序时,距离 继续阅读 »
2016-07-31 jude
原理 堆排序中的“堆”,它是: 一棵完全二叉树 树的每个节点都不比它的两个子节点小(有序) 由此得到最有用的信息:根节点是二叉树里面最大的元素 堆排序的过程是: 构造有序的堆 输出并删除最大的元素 重复前面两个步骤 继续阅读 »
2014-12-19 Mithrilwoodrat
突然之间想到查询一下 Python 中 sort 是使用何种算法实现, goole 之在 stackoverflow 中找到如下了回答 about-pythons-built-in-sort-method 继续阅读 »
2014-05-07 刘太华
PY有自己内建的工厂函数sorted用来排序, 它返回一个原地排序后的副本. 采用的是原地排序算法. 这个工厂函数的原型是: {}sort(cmp=None, key=None, reverse=None) {} 继续阅读 »
2015-03-19 Lingxian Kong
Nova在NFV场景下会提供NUMA相关高级特性,这里提供一个脚本查看计算节点的NUMA相关信息。 #!/bin/bash function get_nr_processor() { grep '^processor' /proc/cpuinfo | wc -l } function get_nr_socket() { grep 'physical id' /proc/cpuinfo | awk -F: '{ print $2 | "sort -un"}' | wc -l } function get_nr_siblings() { grep 'siblings' /proc/ 继续阅读 »
2014-10-31 litaotao
写在前面   lists官方文档在此http://erlang.org/doc/man/lists.html,不知因为什么原因,官方文档中函数顺序和lists.erl源码里的顺序完全不一样。我是按照源码里的顺序来写的,目的是为了熟悉一下Erlang的编程风格和巩固基础语法。也不会所有函数都提到,挑下面一些来学习学习。 1. 属性说明 2. keyfind/3 3. suffix/2 4. seq/2, seq/3 5. sort/1 6. merge/1 7. concat/1 8. flatten/1, flatten/2 10. filter/2, map/2, filt 继续阅读 »
2015-03-29 Mithrilwoodrat
为了找工作重新拾起 C++.才发现,被 Python 宠坏后,再回头使用 c++,一下子无法适应如此复杂的情况. 回到正题,C++ 中如何排序一个 map. 我们都知道无法使用 std::sort 来排序 map,只有通过间接的方法.参考 stackoverflow 上的几个答案. 继续阅读 »