
ACM_数据结构
王的守护者
大水逼
展开
-
hdu4680 About set -------splay
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4680 总体思路:初始化n棵splay树,合并的时候需要用启发式合并优化一下,前三个操作照做就行,第四个关于三角形的询问需要西安判断当前splay树上有没有3个节点,多余三个的话就先枚举最小的边a和次小的边b,然后查找a+b的后继c,找到的话答案加一,然后a = b,b=c遍历一遍就行了,第五个关于G原创 2013-08-18 12:29:16 · 922 阅读 · 0 评论 -
BZOJ2243 树链剖分
比较恶心的树链剖分的题,主要是在查询的时候注意链和链之间合并的时候去掉多余的分段。 /************************************************************** Problem: 2243 User: shllhsno1 Language: C++ Result: Accepted Time:5856原创 2013-11-12 22:43:16 · 610 阅读 · 0 评论 -
ZOJ3228 Trie树
卡内存呀有木有,本来这题往AC自动机上想是很自然的,但是这题内存给的非常紧,开不下指针形式的节点,最后只能用数组形式的Trie树才能卡过,我们把长串所有长度为6的子串插入Trie树,然后对于第一类查找应该是很容易的,对于第二类查找我们记录上次到达这个节点的时候下标是多少,等再次插入到这个点的时候我们只要看当前下标和上次的下标之差是不是大于这个字符串的长度,大于就更新第二类查询的个数,同时更新上次到原创 2013-11-13 20:47:53 · 565 阅读 · 0 评论 -
zoj3765 Lights ----splay
看到数组有插入有删除差不多就决定是splay了,这题按照splay想的话是比较裸的,在每个点分别维护这个区间内开灯的GCD和关灯的GCD,如果在一个没有开灯的区间内,那么关灯的GCD设为-1,然后再GCD函数内做一下特判就行了,剩下的都是splay的基本操作,个人感觉唯一的缺点就是代码量有些大,现场如果有其他方法的话还是别考虑splay了。 #include #include #inclu原创 2014-03-02 22:29:30 · 676 阅读 · 0 评论