- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 BZOJ 1208, 宠物收养所
编写一个支持插入、删除元素,查询数列中最接近某值的元素的数据结构。 保证没有重复元素存在出现在树中。Treap和Splay都可做。 Splay苦手选择Treap,然而写得奇丑无比。 查询最接近某值的元素可以将该值插入树中查询前驱与后继,后比较。查询完以后再删掉。
2016-09-27 20:46:38 210
原创 BZOJ 2049, 洞穴勘测
要求编写一个数据结构,支持动态连边、删边和查询两点连通性。 保证两点间最多只有一条路径。 LCT模板题。 (其实并查集更好些?) 借这题大致了解了一下LCT,顺便回顾了一下Splay。 LCT里的Splay略有不同于普通的Splay,也是需要特别注意的。参考资料:Yang Zhe《SPOJ375 QTREE 解法的一些研究》
2016-09-27 06:43:45 228
原创 BZOJ 1012, 最大数
编写一个支持查询末尾L个数中最大数和在数列末尾插入的数据结构。 乍一看觉得得写Splay,其实只是利用单调性就可以解决了。 当然这题做法很多,线段树什么的都可搞。 开两个数组,一个作为栈,一个记录栈中元素在数列中的位置。 每新加一个数字,就将栈顶小于它的元素弹出后加入栈(因为若栈顶元素小于新数,那么栈顶元素一定不是最大值)。
2016-09-11 19:20:09 226
原创 BZOJ 1500, 维修数列
编写一个支持插入、删除、修改、翻转、求和以及求和最大子序列的数据结构。Splay无疑。 但是写太丑也是会TLE的,比方说插入的时候应该以建树的形式插入,而不是一个点一个点的形式。 实现起来要注意的细节很多,对练习打Splay挺有好处。 (陆陆续续调试了好多天,总算在崩溃之前AC了……)
2016-09-11 15:51:46 190
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人