每次操作(x,y)只对第x行和最后一列有影响. 所以维护n+1棵线段树. 第1~n棵维护1~n行每行的状态. 第n+1棵维护最后一列的状态. 但是空间好像会炸. 没关系,我们来动态开点. 动态开点的空间复杂度为O(q*log(max(n,m)+q)),非常优秀. 正紧点,时间复杂度也为O(q*log ...
分类:
其他好文 时间:
2017-11-25 20:49:30
阅读次数:
182
1. 实现一个栈,可以在最小时间复杂度内计算出栈中的最小值。空间复杂度无视。 啦啦啦 ...
分类:
其他好文 时间:
2017-11-21 14:39:14
阅读次数:
96
Java面试总结(2017.10) 把最近一个月的面试经历总结一下吧。期间有面试大数据和java,以下主要针对java大概总结一下。 一、某滴(套路:项目、数据结构、算法、数据库、多线程) 1.手写链表反转、二分查找(有序循环数组 4 5 1 2 3) 2.mysql索引,哪些地方影响性能? 3.j ...
分类:
编程语言 时间:
2017-11-20 01:16:41
阅读次数:
195
后缀数组资料参考 ==> 链接1 、 链接2 、 论文《后缀数组——处理字符串的有力工具》 、 Height数组与H数组讲解 DA(倍增算法) 时间复杂度是 O(nlogn),然后空间复杂度是 O(n) const int N = 100005; int wa[N],wb[N],wv[N],ws[N ...
分类:
编程语言 时间:
2017-11-16 22:07:24
阅读次数:
215
什么是算法: 间而言之算法(Algorithm):一个计算过程,解决问题的方法 递归的两个特点: 调用自身 结束条件 递归示例: def func(x): if x==0: print("我的小鲤鱼",end='') else: print("抱着",end='') func(x-1) print( ...
分类:
编程语言 时间:
2017-11-16 20:51:47
阅读次数:
177
题目描述:01背包问题 w:重量 v:价值 cap:承重 参考代码: ...
分类:
其他好文 时间:
2017-11-12 00:27:36
阅读次数:
173
K近邻算法采用测量不同特征值之间的距离方法进行分类 K近邻算法特点: 优点:精度高、对异常值不敏感、无数据输入假定。 缺点:计算复杂度高、空间复杂度高。 适用数据范围:数值型和标称型。 K近邻算法原理: 存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数 ...
分类:
编程语言 时间:
2017-11-07 23:56:41
阅读次数:
298
题目链接:https://leetcode.com/problems/pascals-triangle-ii/description/ 题目大意:给出第几行,返回杨辉三角里的该行数据。要求空间复杂度o(k) 法一:这里用一个list数组实现,还是两层for循环,但是空间复杂度不是o(k),代码如下( ...
分类:
其他好文 时间:
2017-11-06 11:04:10
阅读次数:
153
题目描述: 在一个排序的链表中,存在重复的节点,请删除该链表中重复的节点,重复的节点不保留,返回链表头指针。例如,,链表1->2->3->3->4->4->5 处理后为 1->2->5 【解1】使用HashMap记录每个节点是否重复出现,时间复杂度为O(N),空间复杂度为O(N) 1 import ...
分类:
其他好文 时间:
2017-11-04 00:11:30
阅读次数:
204
插入排序是排序算法中一种经典的排序算法,该算法的时间复杂度最好时为O(n),最差时为O(n^2),空间复杂度为O(1),该算法也是一种稳定的排序算法。该种算法较适合大部分已有序时的排序问题。相比较而言,冒泡排序则更适合较小的序列排序。 该排序算法的思想是:不断地将当前数字插入到一个有序序列中,直到最 ...
分类:
编程语言 时间:
2017-11-03 15:22:02
阅读次数:
152