rookiecm

love and passion

Binary Search

模版 二分搜索: 每次将搜索空间变成原搜索空间的一半,通常要求输入有序。 时间复杂度: O(n) = O(n/2) + O(eval) —> O(log(range))*O(eval) O(eval)为对每个元素判断是否符合要求的时间复杂度。 左闭右开[l,r) 123456789#return the smallest number m in range [l,r) such t......

线段树Segmentation Tree

定义 一棵balanced binary tree —> log(n)高度 给定start, end, 求[start,end]所有数的和/min/max 高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为O(logn)。 线段树的每个节点表示一个区间,子节点则分别表示父节点的左右半区间,例如父亲的区间是[a,b],那么(c=(a+b)/2)左儿子的区间......

单调栈总结

理论 单调栈是一个维护性的数据结构,通常用于一下场景: 给定数组nums, 对于某一位置i : 找到向左数第一个比nums[i]大的位置 —> 从左向右维护一个单调递减栈; 找到向左数第一个比nums[i]小的位置 —> 从左向右维护一个单调递增栈; 找到向右数第一个比nums[i]大的位置 —> 从右向左维护一个单调递减栈; 找到向右数第一个比nums[i]小的位置 —......

C++ STL实现堆

利用vector 参考 #include <algorithm> make_heap : 指定迭代器区间和一个可选的比较函数创建一个堆 o(n) push_heap : 指定区间最后一个元素加入到heap中 o(log n) pop_heap : 弹出堆顶元素,放置在区间末尾 o(log n) sort_heap : 堆排序算法,反复调用pop_heap实现 o(nlog n) ......
C++

STL标准模版库

一些约定: STL中的begin, end表示左闭右开的区间[begin, end) 迭代器: 用于指示容器中元素位置的抽象数据类型。 分类: 输入迭代器:用于读取。 输出迭代器:用于输出。 前向迭代器:用于读取和输出,可以向前移动。 双向迭代器:用于读取和输出,可以向前或者向后移动。 随机访问迭代器:用于读取和输出,可以向前或向后移动任意个位置。 所有指针都是随机访问迭代器。 双向迭代器支......
C++

Vim tutorial

命令行输入 1vimtutor 第一讲 h 左移 j 下移 k 上移 l 右移 :q! 放弃改动退出 :wq 保存改动退出 i 在光标前插入文字 A 在行末尾插入文字 x 删除光标所在位置的字符 第二讲 dw 从当前光标删除到下一个字符开头(包括字符间的空格,但是不包括下一个字符开头)。 d$ 从当前光标删除到当前行末尾。 de 从当前光标删除到当前字符结尾。......

当谈论大学,我们在谈论什么

Nobody said it was easy. 绪 似乎写下这篇文章,更多的是给答辩完之后无比懈怠的自己找一些事做。结束答辩这不到一周的时间,一下子觉得有些疲惫。在这个看似很合理的借口下,我很快地刷完了一直想看的剧,和朋友们胡吃海喝。一直觉得这就是最惬意最舒适的日子,甚至某些时刻觉得自己现在的努力就是为了以后能如此随性地生活,但是我似乎有些厌倦了。电影电视剧再精彩,也终究不是自己的生......

《模糊数学方法及其应用》书摘

改道的水源头也不回地奔赴下一片绿洲,任由苦守枯井的沙漠子民化成一具具枯骨。时代的齿轮碾过黄粱春梦,巨大的轰鸣声淹没了愚昧者梦碎的呻吟。 模糊数学方法及其应用 Chapter 1 模糊集的基本概念 介绍模糊集的基本概念、运算法则、基本定理 概述 将模糊概念定量化、数学化——一种研究和处理模糊概念的数学方法。 量:确定性——经典数学:微分法、微分方程 不确定性——随机性(随机数学):概......

从概率论和博弈论角度思考大话骰

是谁在夸夸其谈。 最近认识了一个中二文艺青年,教会了我玩大话骰。这个游戏引起了我很大的兴趣,所以我花了一天时间从概率论和博弈论角度思考这个游戏。这里需要指出两点,首先,实际玩大话骰涉及到概率、博弈、心理学等方面。有时候通过察言观色,辅助以所谓的经验就能玩的很好,而本文只是建立在数学基础上的分析。另外大话骰的规则还是很灵活的,我的分析只是建立在我的思考之上,有可能会有考虑不周的情况。如果大......

DGA论文阅读

这学期在360武汉研发中心实习,岗位是算法工程师,偏research,看了一些论文,整理了部分,以供参考。 实习的最大感受就是,虽然深度学习很火,每天也都有很多新的方法提升跑分效果,但是工业界的应用远远赶不上学术界的研究,有时候传统的特征方法+分类器的方法,反而比深度学习效果更好。论文地址 Predicting Domain Generation Algorithms with Long......