ACM算法列表 ACM所有算法 栈,队列,链表 哈希表,哈希数组 堆,优先队列双端队列可并堆左偏堆 二叉查找树Treap伸展树 并查集集合计数问题二分图的识别 平衡二叉树 二叉排序树 线段树一维线段树二维线段树 树状数组一维树状数组N维树状数组 字典树 后缀数组,后缀树 块状链表 哈夫曼树 桶,跳跃 ...
分类:
其他好文 时间:
2016-08-07 19:53:01
阅读次数:
282
一、LinkedList双向链表:堆栈,队列,双端队列。public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable ...
分类:
其他好文 时间:
2016-08-01 17:43:14
阅读次数:
108
贪心, 双端队列、队列
先扫一遍记录各种字母出现的次数, 然后在扫一遍字母数组(从大到小),依次记录没有出现过的字母
然后 扫一遍 分别记录奇数位置的'?' qo.push(i), 偶数位置的'?' qe.push(i) 同时如果'?'的个数 + 已经出现的种类数 deq.back()) 来判断应该填优先填 minus的位置还是 plus的位置,(同时应该先判断是否容器为空)
具体见代码
复杂度 O(n)...
分类:
其他好文 时间:
2016-07-31 01:49:44
阅读次数:
407
http://poj.org/problem?id=1279 裸的半平面交的模板,按极角排序后维护一个双端队列,不要忘了最后要去除冗余,即最后一条边(或者更多的边)一定在双端队列里,但它不一定构成半平面,所以要特判。 还有平行的边也要特判,因为平行的边的交点不可求! 最后在poj上用G++交WA了好 ...
分类:
其他好文 时间:
2016-07-16 20:12:25
阅读次数:
241
ArrayDeque
1.数组实现双向队列
2.没有实现同步方法,线程不安全,效率较高
3.比LinkedList效率高
4.实现了栈,队列,作为栈使用时候效率比Stack高,作为队列时候比LinkedList效率高通过数组实现双端队列,注意实现的还是循环队列所在包package java.util;
import java.io.*;继承AbstractCollection
实现Dequ...
分类:
其他好文 时间:
2016-07-16 16:24:22
阅读次数:
227
简介莫涛大神创造出的离线询问算法的带修改版。
算法基础:需要掌握莫队算法,会打暴搜(暴力)。
一个叫莫的双端队列。
只支持单点修改操作方法普通的不带修改的莫队算法要把每个询问带上两个关键字排序,现在待修改的莫队算法要带上三个关键字排序。初始操作fo(i,1,m) {
scanf("%s%d%d",s,&k,&l);
if (s[0]=='Q')a[++tot]....
分类:
编程语言 时间:
2016-07-10 09:54:47
阅读次数:
196
LinkedList简介 LinkedList是基于双向循环链表(从源码中可以很容易看出)实现的,除了可以当做链表来操作外,它还可以当做栈、队列和双端队列来使用。 LinkedList同样是非线程安全的,只在单线程下适合使用。 LinkedList实现了Serializable接口,因此它支持序列化 ...
分类:
编程语言 时间:
2016-07-03 10:23:08
阅读次数:
230
对于计算机专业的学生来说,他们一定会很熟悉一句话:程序设计 = 算法 + 数据结构。而根据笔者的理解,所谓程序设计其实就是为了编程解决实际问题,所谓算法是一种解决问题某种思维的方法,但是思维需要得到编程实践,这就需要基于数据结构。一个好的数据结构能够让我们更快更高效得处理数据,有些模拟性、数学背景并 ...
分类:
编程语言 时间:
2016-06-24 14:39:54
阅读次数:
180
题意:给定n个程序,每种程序有五种操作,分别为 var = constant(赋值),print var (打印), lock, unlock,end。 变量用小写字母表示,初始化为0,为程序所公有(一个程序里对某个变量修改可以会影响其他程序里的这个变量), 常数小于100(也就是说最多两位数)。 ...
分类:
其他好文 时间:
2016-06-12 21:59:28
阅读次数:
264