摘要:
T1:裸的二分图 T2:一开始不会做,后面发现是裸的最大权闭合图模型,赶紧学了一发 T3:路径覆盖问题,还是不会,羞耻地看了solution T4:很容易二分答案,然后发现就是路径覆盖问题 T5:很简单的基础建模题(吧) T6:一开始以为一个点可以选多次,心想:这不是煞笔dp嘛?后面... 阅读全文
摘要:
我们很容易想到nk的做法: 定义f[i]为前i个数这样分的方法 那么转移为f[i]=max(f[j−2]+sum[j][i]) (i−k+1 f[j - 2] + sum[i] - sum[j - 1], 即f[k - 2] - sum[k - 1] > f[j - 2] - sum... 阅读全文
摘要:
原题地址前文:很久没有写博客了呢 ,一直没有时间(在浪)题意不提。最后要求的式子我们单独看这坨cegma我们可以在o(n)的时间筛出phi(d)。总复杂度o(n)代码:#include#include#include#include#include#include#includeconst int ... 阅读全文
摘要:
先%fotile主席话说本蒟蒻一直布吉岛主席树与可持久化线段树的区别。。。也许他们就是一个东西。。。首先很明显的,如果我们要在原线段树上进行一次单点修改,并将新的树保存下来,我们其实可以不用新建2n个空间,我们可以注意到,每修改一次单点,只对从根到那个叶节点路径上的点有影响,所以我们新建一棵树只需l... 阅读全文
摘要:
这道题能用辣鸡度搜出来的treap做法只有两三篇吧,并且没有详解。。。先看数据范围,本蒟蒻感觉nlogn过不了啊。。。 [主要是我是大常数选手] 其实可以勉强过,跪烂了那些只跑1s多的神犇%%%首先,四百万次的插入,如果你每次都申请一个新的空间,肯定是要MLE的。我们注意到数列中最多只有五十万个元素... 阅读全文
摘要:
原题地址题意:在树中找到一个点i,并且找到这个点子树中的一些点组成一个集合,使得集合中的所有点的c之和不超过M,且Li*集合中元素个数和最大。现在有三种做法很显然的贪心策略:对于每个点,我们把每个以他为代表的子树里的所有点,从小到大排好序。然后一直选小的,直到不满足条件为止。我们从叶子到根进行合并即... 阅读全文
摘要:
这道题我全网就看到了一个treap,QAQ这道题有个难题,他每次是对一个编号的书进行操作,如果是对从左到右的一个排名的书进行操作还好办.....因此在网上一位大神的代码帮助下,我发现,可以在外界对每一个书的编号搞一个指针,然后用get_rank函数来求出这本书的排名,然后就很好搞了。。。get_ra... 阅读全文
摘要:
到了晚上最后几个小时,是时候填坑了,有的题解网上的一片splay,treap几乎没有,妈蛋,作为treap的脑残粉,我将向你展示如何用treap来肛死splay (lct的话当我没说)...壮哉我大treap诚心诚念treap大法好,treap大法把你保!!!非旋转treap就自学了吧。。。因为晚上... 阅读全文
摘要:
在使用treap维护一系列信息时时,求和,区间最大等等。。。我们不应总想着现场算出来,而应在每个节点多加一个变量,在update时维护即可,如果没有这种技巧,很多东西都会T.... 阅读全文
摘要:
有高为1,2,3,...,n的杆子各一根排成一行。从左边能看到l根,从右边能看到r根,求有多少种可能。 (l,r <= 200,n <= 200000) 给出T 组数据 (T <= 500000) 对于每一组数据输出可能的个数,为避免写高精,将答案模 1e9 + 7 (它为质数,但似乎没... 阅读全文