??
set_union
算法set_union可构造S1、S2的并集。此集合内含S1或S2内的每一个元素。S1、S2及其并集都是以排序区间表示。返回值是一个迭代器,指向输出区间的尾端。
由于S1和S2内的每个元素都不需唯一,因此,如果某个值在S1出现n次,在S2出现m次,那么该值再输出区间中会出现max(m,n)次,其中n个来自S1,其余来自S2。在STL
se...
分类:
其他好文 时间:
2014-06-22 22:22:27
阅读次数:
240
下面给一个简单示例演示命名空间和自定义头文件的使用,代码如下:
compare.h:
namespace compare{
double max(const double* data,int size);
double min(const double* data,int size);
}
compare.cpp:
#include "compare.h"
double c...
分类:
编程语言 时间:
2014-06-22 20:32:00
阅读次数:
275
你可以做如下实验来验证这个上限值:
在任意目录下新建一个目录。在该新建目录下创建一个任意文件,使其名字长度不能再输入为止。把该文件的全路径名copy到Microsoft Word中进行Word Count统计,你会发现长度为259。
再加上一个字节的'\0',就刚好是上限260字节。尽管如此,你仍然可以做出一个全路径文件名长度超出MAX_PATH=260的文件。参看上一篇博客:http:/...
题目:
有n件物品和一个容量为C的背包。(每种物品均只有一件)第i件物品的体积是v[i],重量是w[i]。选一些物品装到这个背包中,使得背包内物品在总体积不超过C的前提下重量尽量大。
解法:两种思路:
第一种:d(i, j)表示“把第i,i+1,i+2,...n个物品装到容量为j的背包中的接下来的最大总重量”。
d(i, j) = max{d(i+1, j), ...
分类:
其他好文 时间:
2014-06-22 19:49:37
阅读次数:
137
在任意一个目录下新建一个文件夹。在该新建文件夹下创建任意一个文件;重命名该文件,使文件名长度不能再长为止。重命名该新建文件夹,使该文件夹的名字长度更长。
综上,你就在Windows中做出了一个全路径文件名长度超出MAX_PATH=260字节的文件。...
Given a triangle, find the minimum path sum from top to bottom. Each step you may
move to adjacent numbers on the row below.
For example, given the following triangle
[
[2],...
分类:
其他好文 时间:
2014-06-22 17:07:52
阅读次数:
166
题目来源:Light OJ 1272 Maximum Subset Sum
题意:选出一些数 他们的抑或之后的值最大
思路:每个数为一个方程 高斯消元 从最高位求出上三角 消元前k个a[i]异或和都能有消元后的异或和组成
消元前
k
个
a[i]
a[i]异或和都能有消元后的
异或和都能有消元后的
p
个
a[i]
a[i]的异或
的异或
保证每一列只有一个1 消元...
分类:
其他好文 时间:
2014-06-22 16:58:09
阅读次数:
231
(二叉)堆是一个数组,是一颗近似完全二叉树,分为大顶堆&小顶堆。表示堆的数组A有两个属性:(1)A.length表示数组元素的个数;(2)A.heap-size表示有多少个堆元素存储在数组A中。更多的关于堆的性质的介绍:算法导论第三版:p85-p89、编程珠玑:p141-p145。
堆的操作主要包括堆插入、堆删除两个,而堆插入设计到FixUp操作(自底向上调整),堆删除涉及到FixDown操作(自顶向下调整,大顶堆时对应算法导论上的MAX-HEAPIFY操作)。
本文主要给出的是大顶堆和小顶堆的基本操作的C...
分类:
其他好文 时间:
2014-06-22 13:58:41
阅读次数:
158
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100".
求数字字符串的二进制和。同之前的数组代表数字,两个数组相加一样,只不过进位变成了2.可能两个串的长度不一样,故逆转,从左到右加下去,最后再逆转。
publi...
分类:
其他好文 时间:
2014-06-21 20:11:21
阅读次数:
344