题意 将数组a分成k,分段后的价值为∑i*a(i)(例如a=[1,-2,-3,4,-5,6,-7],分成了[1,-2,-3],[4,-5],[6,7],则价值为1*1+(-2)*1+(-3)*1+4*2+(-5)*2+6*3+7*3=-9)输出分段能得到的最大价值。 思路 计算得到后缀数组,排序后取 ...
分类:
其他好文 时间:
2019-07-28 15:55:56
阅读次数:
80
Array.sort()方法用于数组排序,但是最近遇到了个问题,就是字符串数组排序结果不正确。从网上查解决方案的过程中,还发现数值之间排序也是有问题的。 之前发现字符串的localCompare()方法还是挺靠谱的,至少日期类字符串排序之前用着还是很靠谱的,今天发现这个方法也不行。最终的解决方案是: ...
分类:
编程语言 时间:
2019-07-15 17:36:01
阅读次数:
132
二分+倍增 题目 题目中的最大校验值应由数组排序后,取出最大值和最小值,次大值和次小值……进行做差平方取和 所以在加入一个新的数时,校验值是不会下降的 那么可以发现,校验值是单调递增的,所以可以用二分对每一个固定的左段点找到满足条件的最大的右端点 所以l初始值设为1,不断对r进行二分,找到最大的点 ...
分类:
其他好文 时间:
2019-07-15 16:04:58
阅读次数:
106
图例 数据结构操作 数组排序算法 图操作 堆操作 大 O 复杂度图表 Big O 复杂度 推荐阅读 Cracking the Coding Interview: 150 Programming Questions and Solutions[33] Introduction to Algorithm ...
分类:
编程语言 时间:
2019-07-14 11:00:17
阅读次数:
136
一、题目: 二、思路: 这是一道非常有代表性的题目,之前也同样碰到过类似这个题的难点。希望读者朋友能够耐心读完。 首先将v数组排序,最大的速度设为$v_m$。 设$$T=\frac {l\times c }{v_m}$$表示最快的人跑完所花费的时间,即比赛的总时间。 对于每个(i,j),设$V_i ...
分类:
其他好文 时间:
2019-07-09 22:23:02
阅读次数:
140
数组的创建:int[]a=newint[10];//创建长度为10的int类型数组int[][]a=newint[3][]//创建二维数组,其中有三个一维数组,不指定第二括号参数是因为每个数组的大小需要在程序中途确定数组操作数组拷贝:System.arratcopy()可以实现自身复制,然后将多余部分赋值null实现数组删除操作System.arraycopy(a1,1,a2,2,3)从第一个数组
分类:
编程语言 时间:
2019-07-09 00:02:01
阅读次数:
156
原OJ提交点这里 这道题一开始让我很雾...... 不过 思路其实非常清晰:如果i<j a[i].x<a[j].x a[i].y>a[j].y 那么就会产生一个交点 大家画个图就出来了 具体操作也很好实现: 定义一个结构体 x升序排列 当x相同就y升序排列 按照我们的排序方式 把a[i].y踢出来跑 ...
分类:
编程语言 时间:
2019-07-06 13:03:13
阅读次数:
123
27array6.html 27array7.html ...
分类:
编程语言 时间:
2019-07-05 22:36:58
阅读次数:
144
直接进入正题: 一、如何从数组生成一个二叉树 假设数组为:{ 30, 13, 7, 43, 23, 12, 9, 33, 42, 21, 18, 6, 3, 50 },我们不对数组排序,直接生成二叉树。 创建流程: 1.将第一数作为根节点: 2.插入13,13小于30,放在30的左边子节点。 3.插 ...
分类:
其他好文 时间:
2019-07-02 22:53:44
阅读次数:
206