
数据结构
Mmm040403
这个作者很懒,什么都没留下…
展开
-
二维偏序&三维偏序的一些总结
二维偏序数星星 https://loj.ac/problem/10114大概就是先按第一维排个序,然后按第二维建个树状数组,值域为下标,每次查询之前的有几个就行了(sum函数)直接上代码#include <bits/stdc++.h>using namespace std;const int maxn=3.2*10005;struct node{ in...原创 2018-11-28 22:25:30 · 1442 阅读 · 0 评论 -
树链剖分的一些总结(TO DO)
题目链接:https://www.luogu.org/problemnew/show/P3384树链剖分的核心思想就是将一个树上问题转化为链上问题,然后就可以用线段树解决啦。这里有一个重链和轻链的概念。找到每个节点的重儿子作为他的son存下来。将每个点和他的重儿子们作为一条链搞下去。#include <bits/stdc++.h>using namespace std...原创 2018-12-05 23:27:54 · 160 阅读 · 0 评论 -
hihocoder 分割相同整数
首先我们发现对于不合法的情况:cnt(最大的相同的个数)*2-1>n由于是字典序最小,我们肯定优先保证前面的越小越好,直接贪心我们选择合法的时候最小的数字,置于当前位置。注意:这里的合法不仅仅是考虑当前数字是否和前一个有重复,还要时刻满足cnt*2-1<=i。因为后面的没有排的也相当于一个序列,我们也要考虑他的合法性。#include <bits/stdc++....原创 2019-10-02 12:07:42 · 140 阅读 · 0 评论 -
实现一个可以支持入栈,出站并输出栈顶和查询站内最小的值三个操作的栈
首先前2个操作,普通的栈都是ok的。对于后一个操作,我们可以考虑2种做法:1.在建立这个栈的同时我们维护一个二叉堆。每次操作是O(logn)的2.再搞一个栈专门维护每个时刻的最小值。每次操作是O(1)的代码写了第二种。#include <bits/stdc++.h>using namespace std;/*用优先队列:查找是O(logn)的再开一个栈:...原创 2019-10-04 14:15:51 · 295 阅读 · 0 评论 -
Editor: 维护一个整数编辑器 HDOJ4699
我们可以继续沿用running median中2个队列的好想法: 我们沿用2个堆栈。光标前面的所有数都在栈A中,光标后的都在栈B中。栈A和栈B的栈顶分别是光标2边的2个数。因为问的位置保证在光标前,我们只要对于A数组维护一下前缀和。而光标的左右移动,我们就只要改变A,B栈顶的元素即可,插入也是同理。#include <bits/stdc++.h>using namespa...原创 2019-10-04 14:27:35 · 202 阅读 · 0 评论 -
running median POJ3784
巧妙运用了2个队列来维护中位数。一个是大根堆,(前1-n/2个数)一个是小根堆(后一半的数)插入每个数时比较大小,再决定插入哪个堆栈里。若是某个堆里的元素个数超过了应有的限制,那么就将其堆顶的元素插到另一个堆里即可。#include <bits/stdc++.h>using namespace std;const int maxn=10005;int p,n,a[maxn...原创 2019-10-04 14:33:48 · 164 阅读 · 0 评论 -
表达式求值(TYVJ1043)
我他喵的被这题气死好吧。(2年前的我调了3个小时,2年后调了1.5个小时)求一个中缀表达式的值(小学生都会好吧)首先:计算机最喜欢的一定是后缀表达式,我们只要从头到尾遍历,然后碰到数字就压入栈,碰到运算符就直接取出栈顶的2个元素直接进行计算,并将结果压入栈。那我们这里要做的操作就是将中缀转成后缀。怎么做呢?1.碰到数字将他输出2.碰到左括号将他入栈。3.碰到运算符只要栈...原创 2019-10-04 14:44:43 · 221 阅读 · 0 评论 -
单调栈与单调队列:最大子序和+city game+largest rectangle in a histogram
city largest rectangle in a histogram从1-n遍历,取出每次以i为右边界(完全取到)最大的面积。显然,i最多可以延伸到的地方是比他高或者等的第一个长条,算出每次面积的最大,再一起取max单调栈即可。#include <bits/stdc++.h>using namespace std;typedef long long ll;...原创 2019-10-04 15:03:16 · 185 阅读 · 0 评论