百度笔试题之数组差值(题目与源码) ********************************* 给定一个长度为n并且只含有非负整数的数组A,显然这个数组一共有n*(n+1)/2个区间(每个区间至少有一个元素)。给定m个查询值K,对于每个查询值K,我们将每个区间最小值与K做“差值”,“差值”的定义如下: 当最小值MINi不小于K时,则“差值”为MINi – K 否则“差值”为0 你的任务是求出对于每个查询值K时,n*(n+1)/2个“差值”的和。 【数据范围】 1 ≤ n, m ≤ 10
霍夫曼编码,对输入的字符集和各个字符对应的权值,例如A={a,b,c,d,e,f,g,h},各个字符对应的权值为{5,29,7,8,14,23,3,11},求出每个字符的霍夫曼编码。 【输入形式】 输入若干个字符(1 <= n <= 26),其权值为int型。 输入数据的第一行的整数n,表示字符数;接下来的n行是字符集,一行一个字符;最后一行是各字符的权值,以空格分隔。 【输出形式】 每个字符(节点)的霍夫曼编码。参见样例输出。 【样例输入】 4 a b c d 1 3 7 22
霍夫曼编码,对输入的字符集和各个字符对应的权值,例如A={a,b,c,d,e,f,g,h},各个字符对应的权值为{5,29,7,8,14,23,3,11},求出每个字符的霍夫曼编码。 【输入形式】 输入若干个字符(1 <= n <= 26),其权值为int型。 输入数据的第一行的整数n,表示字符数;接下来的n行是字符集,一行一个字符;最后一行是各字符的权值,以空格分隔。 【输出形式】 每个字符(节点)的霍夫曼编码。参见样例输出。 【样例输入】 4 a b c d 1 3 7 22