摘要: 暴力做法每次需要遍历一下窗口内的每一个数 时间复杂度O(n * k) 找性质 先看区间内的最小值 -3比3存活的时间更久,且-3比3小,所以-3是更优解,只要-3存在,3就不会是答案 tt 表示当前这个队列存储所用到位置 q[tt]存储的是数组中元素的下标 1 #include <bits/stdc 阅读全文
posted @ 2020-07-11 22:43 kyk333 阅读(153) 评论(0) 推荐(0)
摘要: 单调栈题型 暴力做法 然后寻找性质 横轴是下标,纵轴是值 a[i] 之后要插进来 如果栈顶元素stk[tt] >= a[i]的话,那么stk[tt]就可以被删掉 一直删到找到了一个小于a[i]的栈顶元素为止 如果stk[tt] < a[i]了,那么此时stk[tt]就是我要找的a[i]的左边,离a[ 阅读全文
posted @ 2020-07-11 20:56 kyk333 阅读(159) 评论(0) 推荐(0)
摘要: 库函数做法 1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() { 4 int m; 5 cin >> m; 6 queue<int> q; 7 while (m--) { 8 string s; 9 int x; 10 ci 阅读全文
posted @ 2020-07-11 18:55 kyk333 阅读(149) 评论(0) 推荐(0)
摘要: 用c++里的stack容器很容易做出来 1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() { 4 stack<int> s; 5 int n; 6 cin >> n; 7 while (n--) { 8 string op; 阅读全文
posted @ 2020-07-11 18:25 kyk333 阅读(137) 评论(0) 推荐(0)
摘要: 双链表一个节点里面有两个指针,一个指向左边,一个指向右边 不定义头结点和尾结点了 令下标是0的点表示head 令下标是1的点表示tail 邻接表的知识:把每个点的所有邻边全部存下来 邻接表就是n个单链表 head[i]存储第i个点的邻边 1 #include <bits/stdc++.h> 2 us 阅读全文
posted @ 2020-07-11 17:47 kyk333 阅读(161) 评论(0) 推荐(0)
摘要: 数组模拟单链表,图论的基础 单链表用的最多的是邻接表,邻接表是n个单链表,邻接表是树和图的存储方式 单链表 >> 邻接表 >> 存储树和图 单链表开始时是head指向空节点 插入元素后长这样 每个节点存储两个值 值:val 指针:next 然后用数组模拟就需要定义几个数组 e[N]:存储每个节点的v 阅读全文
posted @ 2020-07-11 16:05 kyk333 阅读(158) 评论(0) 推荐(0)