要点分析: 1.本题可以使用C++STL中的deque双端队列来方便解决(底层是一个双向的链表) 2.值得注意的是N的上限为150000,所以直接开这么大的空间会超内存,可以配合map一起使用 关于双端队列的声明: 使用<queue>头文件 主要用法: deque.push_back(val); d ...
分类:
其他好文 时间:
2020-01-05 13:50:40
阅读次数:
77
SpringRedisTemplate针对这个Scan进行了封装,示例使用(针对最新库spring-data-redis-1.8.1.RELEASE):Set<Object> execute = redisTemplate.execute(new RedisCallback<Set<Object>> ...
分类:
编程语言 时间:
2020-01-05 11:49:46
阅读次数:
101
2019年的某月某天某神仙讲了莫队,但是我一直咕咕咕到了2020年 什么是莫队 莫队是一种优雅的暴力,也是用来完成区间询问的。普通莫队复杂度$O(n \sqrt n)$。一种十分优美的离线做法 前置芝士 ~~0.拥有脑子~~ 1.$STL$中$sort$的$cmp$ 2.看/写超长的三目运算符的耐心 ...
分类:
其他好文 时间:
2020-01-04 22:11:51
阅读次数:
95
替换git和homebrew镜像源 一、git加速 1. 查找域名对应的地址 nslookup github.com nslookup github.global.ssl.fastly.Net 2. 修改hosts文件 3. 刷新DNS缓存(根据你的操作系统选择) 二、homebrew替换为清华镜像 ...
分类:
系统相关 时间:
2020-01-04 14:16:02
阅读次数:
307
主要bb一下优先队列和字符串吧. 哦还有 bitset.优先队列定义很容易: priority_queue pq;内部是一个堆.基本操作pq.top() 取堆顶元素; (没有 front() 方法!)pq.push(x) 插入;pq.pop() 删除(删除堆顶);pq.empty() 判断是否为空.... ...
分类:
编程语言 时间:
2020-01-04 01:21:05
阅读次数:
88
解题思路 1.题目中说不能重复利用这个数组中同样的元素,可以想到STL中map的不重复特性 2.map中存储key是当前元素和target的差值,该差值可能在原nums中,也可能不在,value存储数可以理解为nums[i]这个元素在nums中的位置 3.因为是从首到尾的遍历,当后面出现的元素能够在 ...
分类:
其他好文 时间:
2020-01-02 09:22:11
阅读次数:
72
发现 zeromq 的 yqueue_t 模板类,其数据存储理念设计得非常妙。借这一理念,按照 STL 的泛型类 queue 的接口标准,我设计了一个线程安全的 单生产者/单消费者(单线程push/单线程pop) FIFO 队列,以此满足更为广泛的应用。 1. 数据存储理念的 ...
分类:
编程语言 时间:
2020-01-01 23:46:14
阅读次数:
110
tuple 的主要用途,就是把各种类型的参数组合成一个新的数据关联体(结构体),相当于早期的 std::pair 的泛化版本。 组合存储是方便了,但是,对于某些特定的应用场景,解包就成了个比较麻烦的事情。为此,我查看 gcc 8.2.0 版的 STL ...
分类:
编程语言 时间:
2020-01-01 23:23:30
阅读次数:
99
一、迭代器失效的类型a.由于插入元素,使得容器元素整体“迁移”导致存放原容器元素的空间不再有效,从而使得指向原空间的迭代器失效。b.由于删除元素使得某些元素次序发生变化使得原本指向某元素的迭代器不再指向希望指向的元素。 二、vector内部数据结构:数组随机访问每个元素,所需要的时间为O(1)在末尾 ...
分类:
编程语言 时间:
2020-01-01 18:50:00
阅读次数:
64
1.Socket 1.1、socket是一个应用编程接口,是一种特殊的文件描述符(可对其执行IO操作,open、write、close) 1.2、socket代表网络编程的一种资源 1.3、socket的类型 流式套接字(SOCK_STREAM):唯一对应TCP 提供一个面向连接、可靠的数据传输服务 ...
分类:
系统相关 时间:
2020-01-01 18:41:10
阅读次数:
90