什么是树状数组? ? 树状数组就是通过数组来模拟一种树形结构,这种树形结构能够维护区间信息。同样类似的数据结构还有线段树,线段树与树状数组相比,它的结点更多,也就是说线段树的常数更大。 ? 线段树是通过把区间二分来维护区间的信息,而树状数组是通过lowbit来维护区间的信息。 ? 以树状数组维护区间 ...
分类:
编程语言 时间:
2020-10-22 22:18:30
阅读次数:
25
1.lambda(匿名函数) 1)当需要用到很简单的函数时,可以使用lambda;一行可定义一个函数,但是不能完成复杂的函数操作 2)语法: lambda x,y: x+y lambda后的变量为参数,冒号后面时函数体(直接return的内容) #普通函数 def func(n): return n ...
分类:
编程语言 时间:
2020-10-21 21:25:20
阅读次数:
28
本题解是 CF360B 的 \(n\leq 2\times10^5\) 加强版。 一开始看到这题难度 2000,那完蛋了啊,我连 2000 的题都不会做了/ll。然后发现数据范围才 $2000$/xk。 答案 \(x\) 显然有单调性,先二分起来。 考虑固定那些没有被改变的柱子。那么不难发现,一个没 ...
分类:
其他好文 时间:
2020-10-19 23:07:28
阅读次数:
32
前言 有些小伙伴可能会有疑惑,为什么面试总喜欢问算法与数据结构问题,这是有原因的 首先,算法能看出一个程序员的 基本功 ,数据结构与算法是计算机领域里面最最基础的学科,其他更高级的领域都或多或少都涉及到算法与数据结构,说算法与数据结构为其他计算机领域的地基也不过分。而且对于校招的小伙伴们来说,可能并 ...
分类:
编程语言 时间:
2020-10-19 23:04:59
阅读次数:
46
//第一次尝试:#include<stdio.h> int main() { int arr[] = { 1,2,3,4,5,6,7 };//查找6 int left = 0; int right = sizeof(arr) / sizeof(arr[0]) - 1; //printf("%d\n" ...
分类:
其他好文 时间:
2020-10-19 22:32:05
阅读次数:
15
分析: 我们发现假如第一步选择位置 \(i\) ,那么系统操作者能把 \(\text{Byteasar}\) 限制成经过 \(i\) 的长度为 \(\lceil \dfrac{n}{2} \rceil\) 。 的任意一个序列。那么系统操作者肯定会选择价值最小的那个。 现在问题就是求出经过每个位置的长 ...
分类:
其他好文 时间:
2020-10-18 17:04:54
阅读次数:
24
java-多线程并发编程: 重新学习下多线程并发编程 java基础:优先队列:PriorityQueue、数组赋值:System.arraycopy、二分搜索:Arrays.binarySearch 查看死锁(面试会问,比较好玩): 1. 命令行:jps 2. 查看堆栈:jstack pid 3. ...
分类:
编程语言 时间:
2020-10-16 11:03:20
阅读次数:
29
题面 自己去at看吧, markdown复制是乱码 题解 就8只骆驼, 数据量很小, 要么高维dp, 要么爆搜 这里选择 爆搜(反正 8! 没多少) + dp 暴力去全排列 骆驼的顺序, 然后算每次排序后 的 距离, 每次min一下 对于给定的顺序的骆驼 必定每一段 i 到 j, 这段序列能通过任意 ...
分类:
其他好文 时间:
2020-10-12 20:18:37
阅读次数:
23
new new用构造函数创建实例对象,为实例对象添加this属性和方法。 new在调用过程中实现了以下几个步骤: 创建一个新的对象 链接到原型,将该对象 obj 的原型链指向构造函数的原型 prototype 绑定this,让this变量指向这个新创建的对象 返回新对象 1 function cre ...
分类:
移动开发 时间:
2020-10-12 20:04:55
阅读次数:
32
public static void main(String[] args) { int v = 1; int[] a = {1,2,3,4,5}; int left = 0; int right = a.length - 1; while (left <= right) { int mid = ( ...
分类:
编程语言 时间:
2020-10-10 17:46:50
阅读次数:
31