07 2016 档案

摘要:数据结构 STL 栈 队列 堆 树(数据结构) | | | | 线段树 平衡树 生成树 | | | 各种应用 | | | | | | Splay 红黑树(map) Treap SBT prim kruskual 并查集 | | | | | 路径压缩 按秩合并 种族并查集 可撤销并查集 高级数据结构 阅读全文
posted @ 2016-07-30 22:09 Helica 阅读(203) 评论(0) 推荐(0) 编辑
摘要:首先想到的就是sort一下,然后每个集合都在排过序的数组里面取,不重复。 这样就推出公式dp[i][j] = min(dp[k][j-1] + (s[i]-s[k+1])^2) 其中dp[i][j]为在第i位完成j个分组的。 不考虑分组的情况下跟打印文章那题一样。考虑上需要有M个分组,就是两层for 阅读全文
posted @ 2016-07-30 22:03 Helica 阅读(491) 评论(0) 推荐(0) 编辑
摘要:CDQ学习资料 day1cdq分治相关 CDQ的IOI论文 1.优化斜率dp 左边对右边影响维护一个凸包解决 需要知识:①凸包②斜率dp 题目:√ HDU3842 Machine Works HYSBZ 1492 货币兑换Cash 2.三维/多维偏序 cdq降维,剩下用数据结构维护。 需要知识:①L 阅读全文
posted @ 2016-07-30 17:43 Helica 阅读(230) 评论(0) 推荐(0) 编辑
摘要:只想到了朴素的n^2做法,然后发现可以用splay维护。于是调了几个小时的splay。。。 splay的元素是从第二个开始的!第一个是之前插入的头节点! 阅读全文
posted @ 2016-07-30 13:35 Helica 阅读(222) 评论(0) 推荐(0) 编辑
摘要:这道题可以树链剖分做。但是最近在给学弟搞数据结构复习了LCA树状数组RMQ 然后就搞了一发LCA+树状数组维护。 dis数组维护当前点到根节点的权值和。则dis(u,v) = dis[u]+dis[v]-2*dis[lca(u,v)] 修改的时候,单点修改影响了该点所有儿子的dis,刚好可以用dfs 阅读全文
posted @ 2016-07-28 00:18 Helica 阅读(873) 评论(0) 推荐(0) 编辑
摘要:为了学CDQ分治,从斜率dp和凸包开始做吧。。 代码就是维护一个凸包。利用递增的性质丢掉不合适的点。 http://www.cnblogs.com/Rlemon/p/3184899.html 代码学的上面 很模板 阅读全文
posted @ 2016-07-28 00:11 Helica 阅读(183) 评论(0) 推荐(0) 编辑
摘要:平面最远点对 由于点数为1e5,而整数点的情况下,凸包上点的个数为sqrt(M),M为范围。 这样求出凸包之后n^2枚举维护距离就可以了 否则就用旋转卡壳。 这里用了挑战上的做法,比较简洁。 阅读全文
posted @ 2016-07-28 00:07 Helica 阅读(130) 评论(0) 推荐(0) 编辑
摘要:用每个点代表父节点到此点的边。建立一一映射后就可以用点权的方法处理了。 注意的是路径两端节点的处理 阅读全文
posted @ 2016-07-14 14:39 Helica 阅读(197) 评论(0) 推荐(0) 编辑
摘要:很模板的树链剖分题 注意什么时候用线段树上的标号,什么时候用点的标号。 阅读全文
posted @ 2016-07-14 14:35 Helica 阅读(405) 评论(0) 推荐(0) 编辑
摘要:树链剖分,点权,单点更改,路径查询。学树链剖分下面这个博文不错 http://blog.csdn.net/y990041769/article/details/40348013 线段树必须写的很熟练才行。注意负数 阅读全文
posted @ 2016-07-14 14:32 Helica 阅读(339) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示