"嘟嘟嘟" 嗯。 splay维护哈希。 如题,用splay维护哈希,查找的时候二分。所以复杂度是取决于询问复杂度:$O(n \log^ 2{n})$。 这道题还有一个技巧,就是一个节点记录的是他的子树的哈希值,所以树的的形态改变的同时,每一个节点记录的哈希值也在改变。在pushup的时候,应该这么写 ...
分类:
Web程序 时间:
2018-12-04 17:21:30
阅读次数:
205
"嘟嘟嘟" "双倍经验" 这道题只要想明白了就和$cdq$分治的板儿没什么区别了,然而如果想不明白就会像我一样磨叽了一晚上。 删数不好办,于是离线倒序改成加数。 考虑加上一个数$a_i$形成的逆序对:1.在他前面且比他大的。2.在他后面且比他小的。 因为数字是动态添加的,所以上述的数必须是在他之前添 ...
分类:
其他好文 时间:
2018-11-30 14:14:23
阅读次数:
143
"嘟嘟嘟" 很显然我开始学$CDQ$分治了。 我刚开始学的时候看了一篇博客,上面全是一些抽象的概念,看完后真是一头雾水,最后还不得不抄了这题的代码。 但这样可不行呀…… 于是我就不打算再扣那篇博客,而是自己想,最后真的自己想明白了。 (个人感觉这道题跟$CDQ$分治关系不大) 首先想一下二维偏序:我 ...
分类:
其他好文 时间:
2018-11-29 15:07:56
阅读次数:
194
"嘟嘟嘟cf" "嘟嘟嘟luogu" 刚开始我看成了对于一个点$i$,存在一个点$j$满足三个条件之一,而不是任意的$j$。结果自然$gg$了,第二个点就$WA$了。 也不知怎么来的思路:平面分治。 先把所有点按$x$排序,然后规定一个中间点$a_{mid}$。两边的点向中间点作投影,这样对于任意的 ...
分类:
其他好文 时间:
2018-11-28 12:16:52
阅读次数:
248
"嘟嘟嘟" 这个数据范围显然是折半搜索。 把序列分成两半,枚举前一半的子集,存下来。然后再枚举后一半的子集,二分查找。 细节: 1.最优解可能只在一半的子集里,所以枚举的时候也要更新答案。 2.对于当前结果$tot$,二分查找$ tot$的时候要把$ tot$两边的元素都和$tot$加起来试一下,而 ...
分类:
其他好文 时间:
2018-11-27 12:28:23
阅读次数:
241
"嘟嘟嘟" 还是$IDA $。 这道题是$ZOJ$的加强版,$n$从$100$扩大到了$10000$,所以必须有非常给力的剪枝才能过。 除了迭代加深,还要加上估价函数:对于当前数$x$,$h(x)$应该是$O(\log_{2}{x})$,即每一次否给$x$乘$2$。 然后如果这么手动取乘$2$的话, ...
分类:
其他好文 时间:
2018-11-26 20:13:05
阅读次数:
263
"嘟嘟嘟" 虽然我已经会网络流了,但是还是学了一个匈牙利算法。 ——就跟我会线段树,但还是学了树状数组一样。 其实匈牙利算法挺暴力的。简单来说就是先贪心匹配,然后如果左部点$i$匹配不上了,就尝试更改前面已经匹配好的点,腾出地给他匹配。 因此对于每一个点跑一遍匈牙利算法,如果这个点匹配成功,总匹配数 ...
分类:
编程语言 时间:
2018-11-25 16:31:38
阅读次数:
236
"嘟嘟嘟" 哈希 刚开始我一直在想二维哈希,但发现如果还是按行列枚举的话会破坏子矩阵的性质。也就是说,这个哈希只能维护一维的子区间的哈希值。 所以我就开了个二维数组$has_{i, j}$表示原矩阵$s_{i, j q + 1}$到$s_{i, j}$的哈希值,所以这个要用滚动哈希。 滚动哈希就是这 ...
分类:
其他好文 时间:
2018-11-25 13:27:17
阅读次数:
163
"嘟嘟嘟" 题目大意:给一个费用流的残量网络,判断是不是最优解。如果不是,输出比当前解更优的任意一种方案。 刚开始以为是水题:建完图后跑费用流,并记录选取方案,最后输出。 然而这样会$TLE$! 所以我还是看了题解。 原来用了费用流的一条性质:当前流是最小费用流 $$残量网络中没有负圈。 所以做法就 ...
分类:
其他好文 时间:
2018-11-25 11:43:34
阅读次数:
219
"嘟嘟嘟" 刚做费用流,思路完全不对呀…… 应该这么想(应该说敢这么想):这道题的关键在于怎么体现这个玩具是第几个加工的,只有这才能求出他的加工时间(因为加工时间包括等待时间)。 但等待时间不好求,因此要换个思路想:加工这个玩具会对别的玩具的加工时间造成多少影响。 假设三个玩具$i, j, k$依次 ...