- 博客(11)
- 资源 (16)
- 收藏
- 关注
原创 51nod - 1288 汽油补给
有(N+1)个城市,0是起点N是终点,开车从0 -> 1 - > 2...... -> N,车每走1个单位距离消耗1个单位的汽油,油箱的容量是T。给出每个城市到下一个城市的距离D,以及当地的油价P,求走完整个旅途最少的花费。如果无法从起点到达终点输出-1。例如D = {10, 9, 8}, P = {2, 1, 3},T = 15,最小花费为41,在0加上10个单位的汽油,在...
2017-11-30 02:42:02 242
原创 51nod - 1215 数组的宽度
N个整数组成的数组,定义子数组a[i]..a[j]的宽度为:max(a[i]..a[j]) - min(a[i]..a[j]),求所有子数组的宽度和。Input第1行:1个数N,表示数组的长度。(1 <= N <= 50000)第2 - N + 1行:每行1个数,表示数组中的元素(1 <= A[i] <= 50000)Output输出所有子数组的宽度和...
2017-11-22 00:22:06 329
原创 51nod - 1437 迈克步
有n只熊。他们站成一排队伍,从左到右依次1到n编号。第i只熊的高度是ai。一组熊指的队伍中连续的一个子段。组的大小就是熊的数目。而组的力量就是这一组熊中最小的高度。迈克想知道对于所有的组大小为x(1 ≤ x ≤ n)的,最大力量是多少。Input单组测试数据。第一行有一个整数n(1≤n≤2×10^5),表示熊的数目。第二行包含n个整数以空格分开,a1,a2,...
2017-11-18 23:54:42 415
原创 最小化序列
现在有一个长度为n的数组A,另外还有一个整数k。数组下标从1开始。现在你需要把数组的顺序重新排列一下使得下面这个的式子的值尽可能小。 ∑n−ki=1|A[i]−A[i+k]| 特别的,你也可以不对数组进行重新排列。Input单组测试数据。第一行包含两个整数n,k (2≤n≤3*10^5, 1≤k≤min(5000,n-1))。第二行包含n个整数 A[1],A[2],
2017-11-17 02:45:21 798
原创 合法三角形
有n个不同的点,问有多少组三元组能构成面积非0的三角形。Input单组测试数据。第一行一个整数n (1 ≤ n ≤ 2000),表示点的数目。接下来n行,每行包含两个整数 xi, yi ( -100 ≤ xi, yi ≤ 100),表示第i个点的坐标。输入保证点是两两不同的。Output输出合法的三角形数目。Input示例40 01 12 02 2Outpu
2017-11-13 23:49:28 617
原创 51nod - 1423 最大二“货”
Input单组测试数据。第一行有一个整数n (1 < n ≤ 10^5)。第二行包含n个不同的整数 s1, s2, ..., sn (1 ≤ si ≤ 10^9)。Output输出所有子段的最大幸运值。Input示例55 2 1 4 359 8 3 5 7Output示例715思路:利用单调递减栈。在一个方向判断完最大值在次大值之后...
2017-11-12 17:38:25 208
原创 选数字
当给定一个序列a[0],a[1],a[2],...,a[n-1] 和一个整数K时,我们想找出,有多少子序列满足这么一个条件:把当前子序列里面的所有元素乘起来恰好等于K。样例解释:对于第一个数据,我们可以选择[3]或者[1(第一个1), 3]或者[1(第二个1), 3]或者[1,1,3]。所以答案是4。Input多组测试数据。在输入文件的第一行
2017-11-11 23:07:32 400
原创 51nod - 1711 平均数
LYK有一个长度为n的序列a。他最近在研究平均数。他甚至想知道所有区间的平均数,但是区间数目实在太多了。为了方便起见,你只要告诉他所有区间(n*(n+1)/2个区间)中第k大的平均数就行了。Input第一行两个数n,k(1<=n<=100000,1<=k<=n*(n+1)/2)。接下来一行n个数表示LYK的区间(1<=ai<=100000...
2017-11-10 02:07:07 296
原创 括号序列的最小代价
这里有一个关于合法的括号序列的问题。如果插入“+”和“1”到一个括号序列,我们能得到一个正确的数学表达式,我们就认为这个括号序列是合法的。例如,序列"(())()","()"和"(()(()))"是合法的,但是")(", "(()"和"(()))("是不合法的。我们这有一种仅由“(”,“)”和“?”组成的括号序列,你必须将“?”替换成括号,从而得到一个合法的括号序列。对于每个“?”,将
2017-11-06 22:28:16 865
原创 覆盖数字的数量
给出一段从A - B的区间S(A,B为整数),这段区间内的整数可以随便使用任意次。再给出一段从X - Y的区间T,问用区间S中的整数做加法,可以覆盖区间T中多少个不同的整数。例如:区间S为8 - 10,区间T为3 - 20。在3 - 20中,整数8(8),9(9),10(10),16(8+8),17(8+9),18(9+9),19(9+10),20(10+10)。可以被区间S中的数覆盖,因
2017-11-05 13:15:57 456
原创 51nod - 1275 连续子段的差异
给出一个包括N个元素的整数数组A,包括A本身在内,共有 (N+1)*N / 2个非空子段。例如:1 3 2的子段为{1} {3} {2} {1 3} {3 2} {1 3 2}。在这些子段中,如果最大值同最小值的差异不超过K,则认为这是一个合格的子段。给出数组A和K,求有多少符合条件的子段。例如:3 5 7 6 3,K = 2,符合条件的子段包括:{3} {5} {7} {6} {3} {3 5}...
2017-11-02 00:12:39 295
exceptional c++ style中文版 pdf 刘未鹏译
2010-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人