摘要:
将两个有交集的区间进行合并,返回合并后的区间 这是简单的贪心算法 步骤: 按照区间左端点进行排序 扫描整个区间,并进行合并 我们可以发现,在扫描过程中,下一个区间和当前区间的关系有3种:完全包含,部分包含,和完全不包含 针对这3种情况,我们分别进行处理就可以了。 阅读全文
摘要:
我们这里讨论的是保序的离散化,小的在前面,大的在后面 我们有一个集合a[],这个集合的值域是0 ~ ,但是这个集合中元素的个数却只有个。 当我们需要将这个集合中元素当作下标时,那么我们需要开一个数组,这无疑是很浪费空间的。 此时就需要进行映射,将这个数 阅读全文
摘要:
位运算常用的主要有两方面: n的二进制表示中,第k位是几。 Lowbit操作 二进制第k位 n的二进制表示中,第k位是几。 思路: 先把第k位移动到最后一位,n >> k; 看个位是几,通过n&1就可以了 总结一下,公式就是 n>>k&1 如下面输出的结果就是1010; int n = 10; fo 阅读全文
摘要:
用处就是优化 例如一道题朴素做法就是暴力遍历,如下: for(int i = 0; i < n; i++) for(int j = 0; j ⇐ i; j++) 此时时间复杂度是的。而通过双指针算法,就可以将其优化为O(n)的。 基本思想如下: for (int i = 0, j = 阅读全文
摘要:
前缀和 前缀和更像一个公式,理解思想之后直接套公式就可以解题。 一维前缀和 有一个数组 则前缀和数组为. 前缀和的下标建议从1开始。这样就会为0,处理边界会很方便。 例如区间和[1,5]为$S_5-S 阅读全文
摘要:
IDEA 配置连接数据库报错 Server returns invalid timezone. Need to set ‘serverTimezone’ property. 简单的处理方法:在url后添加:?serverTimezone=GMT 阅读全文
摘要:
作用: 让我们在Windows下更好地管理vm虚拟机 可以设置windows和linux的共享文件夹 1、安装步骤 以centos为例: 进入centos,先将光驱右键弹出 点击菜单中虚拟机选项中的->install vmware tools 在centos中会出现一个xx.tar.gz,将其拷贝到 阅读全文
摘要:
模块 模块尽量使用小写 import numpy import os import pandas import sklearn 类名 驼峰命名法(Camel-Case) class Split(): pass class StratifiedShuffleSplit(): pass 函数 小写,多个 阅读全文
摘要:
1、栈(Stack) 特点:后入先出 基本操作: push(x):在栈顶部添加元素x pop(x):从栈顶部取出元素 isEmpty():检查栈是否为空 isFull():检查栈是否已满 void initialize(){ top = 0; } void isEmpty(){ return top 阅读全文