双端队列(deque容器类):#include与vector
类似,支持随机访问和快速插入删除,它在容器中某一位置上的操作所花费的是线性时间。与vector不同的是:deque
还支持从开始端插入数据:push_front() 。此外deque 不支持与vector 的capacity() 、res...
分类:
其他好文 时间:
2014-05-09 18:19:39
阅读次数:
404
题目链接:http://acm.nbut.edu.cn/Problem/view.xhtml?id=1557题意:给出n个不相同且分布在1-n之间的正整数组成的队列,每次可以将任一个数放到队首,问最少需要多少次可以将队列变为升序?分析:(1)一种方法是对于每个有较大数在前面的数放到队首,然后将后面比...
分类:
其他好文 时间:
2014-05-09 11:50:08
阅读次数:
262
原文:Winform
打印PDF顺序混乱,获取打印队列工作中PDF打印顺序混乱着实让我疼痛了好久,其实决绝方法非常简单,但没有想到这个点子的时候确实让我走了很多弯路这里文章写出来并不是为了炫耀什么,只是觉得发现些好东西就分享出来而已,同时也做个记录,方便以后查找开始正文既然要解决打印顺序混乱,那么必...
GCD,自iOS4.0吧,比block还要早,他的用处主要是体现在线程方面,比如你有个比较麻烦的而且循环比较大的代码段什么,比如有个后台下载什么的,这都必须放在子线程里一个放在子线程里执行,为了不影响用户体验!来说说几个很基本的东西方便了解:串行系统默认就有一个串行队列main_queue,也就是主...
分类:
其他好文 时间:
2014-05-08 20:32:22
阅读次数:
317
西方有句谚语:不要重复发明轮子!STL几乎封装了所有的数据结构中的算法,从链表到队列,从向量到堆栈,对hash到二叉树,从搜索到排序,从增加到删除......可以说,如果你理解了STL,你会发现你已不用拘泥于算法本身,从而站在巨人的肩膀上去考虑更高级的应用。排序是最广泛的算法之一,本文详细介绍了ST...
分类:
其他好文 时间:
2014-05-07 18:11:56
阅读次数:
465
一客户计件系统越用越慢(表内才1000W多条数据),当时做系统为了赶时间,在设计索引时,一个索引名添加了多个索引列。当数据量在百万内是看不出什么问题,数据一但上千万时,索引列会直接失效,此时服务器CPU猛飚。之前做索引为了省几分钟,导致今天折腾了N个小时,,,,,,晚上CF虐小学生的计划泡汤了
分类:
其他好文 时间:
2014-05-05 12:51:15
阅读次数:
286
要求:从上往下打印二叉树的每个结点,同一层的结点按照从左到右的顺序打印。算法思想:每一次打印一个结点的时候,如果该结点有子结点,则把该结点的子结点放到一个队列的末尾。接下来到队列的头部取出最早进入队列的结点,重复前面的打印操作,直到队列中所有的结点都被打印出来为止。
分类:
其他好文 时间:
2014-05-05 10:00:38
阅读次数:
307
题意:给两个字符串,求一个最短的子串。使得这个子串在两个字符串中出现的次数都等于1.出现的定义为:可以重叠的出现。
解法:后缀数组的应用。从小枚举长度。如果一个长度len合法的话:则一定存在这个样的sa[i]排名。sa[i]与s[i+1]的公共前缀长度大于等于len,且sa[i]与[i-1]的公共前缀长度小于len,同时sa[i+1]与[i+2]的公共前缀长度小于len,同时保证sa[i...
分类:
其他好文 时间:
2014-05-04 09:42:00
阅读次数:
275
维护两个单调队列,一个存储当前点之前的最大值。
另外一个存储当前点之前的最小值。
若最大值与最小值之间的差大于k,那么就把最大值和最小值中位置靠前的往后移。
#include
#include
#include
#include
#include
using namespace std;
//#define INF ((1<<30)-1)
#define INF 0xfffff
#defin...
分类:
其他好文 时间:
2014-05-04 09:23:04
阅读次数:
372
单调队列入门题。。。
dp[i][j]:第i天,手中拥有j个股票时,获得的最大利润。
若第i天不买不卖:dp[i][j]=max(dp[i][j],dp[i-1][j]);
若第i天买 :dp[i][j]=max(dp[i][j],dp[i-w-1][k]-(j-k)*ap[i]);
若第i天卖 :dp[i][j]=max(dp[i][j],dp...
分类:
其他好文 时间:
2014-05-04 09:13:22
阅读次数:
303