前言 BAT常见的算法面试题解析: 程序员算法基础——动态规划 程序员算法基础——贪心算法 工作闲暇也会有在线分享,算法基础教程—-腾讯课堂地址。 今天是LeetCode专场练习。 正文 Copy List …
分类:数据结构
BZOJ-1293: [SCOI2009]生日礼物(离散化+单调队列)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1293 随便离散化一下,然后单调队列就可以了,单调队列中的位置单调,如果队首踢出去了仍然存在k种颜色,则踢开队首元素…
Python 快速排序的思考(快排 & K-th Max)
一、 快速排序与归并排序的比较 快速排序的最快的时间复杂度为O(n),最差情况下的时间复杂度为O(n^2),平均的时间复杂度为O(nlgn); 归并排序的时间复杂度在任何情况下都是O(nlgn); 快速排序的时间复杂度计…
BZOJ-3526: [Poi2014]Card(线段树)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3526 假如不带修改,可以直接扫一遍解决,但是这个不好动态维护,我们发现分治同样可以解决这个问题,相当维护一下左边两…
A*算法
挂在码云上的:Golang实现示例 A-Star算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是许多其他问题的常用启发式算法。注意——是最有效的直接搜索算法。 现成的讲解在这里
剑指Offer面试题汇总
剑指Offer简介 《剑指Offer:名企面试官精讲典型编程题》剖析了50个典型的程序员面试题,从基础知识、代码质量、解题思路、优化效率和综合能力五个方面系统整理了影响面试的5个要点。全书分为7章,主要包括面试的流程,讨…
BZOJ-1563: [NOI2009]诗人小G(单调性DP)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1563 打了个表发现决策具有单调性,然后就二分+队列维护即可,O(n log n)。 代码: #include &l…
探索NIO之selector的底层实现
NIO — Not Block IO。在java中大体有三种角色。 Channel Buffer Selector Channel故名思义就是一个渠道,一条链接,实际物理意义映射着我们平时说的tcp链接。 在…
BZOJ-1492: [NOI2007]货币兑换Cash(动态规划+动态维护凸壳)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1492 很经典的一道把决策看成点,然后动态维护凸壳的DP题目,可以用平衡树维护,据说还可以用神奇的CDQ分治水过去(…
数据结构与算法之栈的链式存储表示
//栈的链式存储表示(在栈中,top指向栈顶元素) #include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef st…
线段树 Segtree
原题 https://www.luogu.org/problemnew/show/P3373 (手写线段树 wKw) 题目描述 如题,已知一个数列,你需要进行下面三种操作: 1.将某区间每一个数乘上x 2.将某区间每一个…
算法 & 数据结构——时间轮定时器
时间轮定时器 优点:可保证每次执行定时器任务都是O(1)复杂度,在定时器任务密集的情况下,性能优势非常明显。 缺点:内存占用较大,当定时器使用不频繁,处理时间跨度很大的时候,效率低下。 C++实现: // timer.h…