Data Structure
文章平均质量分 71
OrpineX
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[SDOI2011]染色
给定一棵有n(n2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点n路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。 请你写一个程序依次完成这m个操作。 维护稍微麻烦一点的动态树,记得每次Splay之前Relax一下,把标记push下来 //Lib #include #include #in原创 2011-11-19 10:47:03 · 2211 阅读 · 0 评论 -
Ural1553.Caves and Tunnels
水题一道……动态维护树链上的最大点权,动态树水过…… wa了几次……因为没看清楚题……点权的修改是在原来的点权基础之上的…… 点数过多,不能用DFS建图 //Lib #include #include #include #include #include #include #include #include #include #include using namespace s原创 2011-11-19 15:59:00 · 683 阅读 · 0 评论 -
SPOJ375.QTREE
题目大意: 一棵树,每条边有个权值 两种操作 一个修改每条边权值 一个询问两点之间这一条链的最大边权 点数 多组测试数据,case 简单动态树,只是一般Splay维护的是点的信息,这里是边的信息 那么有两种做法 一种是Splay直接维护边的信息,这种貌似比较难写,据pty说是比较蛋疼 还有一种是随便指定一个点作为树根,那么每个点就有相应的深度了,此时将所有的边的边压到它原创 2011-11-21 19:24:00 · 2172 阅读 · 0 评论 -
SPOJ913. Query on a tree II
题目大意: 询问一棵树上两点之间的边权和or第k个点是多少 link-cut tree 一开始把第k个点看成了第k大的边……吓了我一跳…… 边权处理方法类似QTREE,再维护一个sum一个size就行了…… 犯了脑残错误……调了半小时…… //Lib #include #include #include #include #include #include #incl原创 2011-11-24 14:57:28 · 1386 阅读 · 0 评论 -
SPOJ2798. Query on a tree again!
题目大意: 两种操作 0:对一个点反色(白变黑,黑变白) 1:查询这个点到一号点这一条链上离一号点最近的黑点的编号 我没话说了……这道题我交了可能有几十次,调了两个多小时,和别人对拍,就是不知道哪里写错了…… 最后逼得没办法重新写了一遍……AC…… 蛋疼的SPOJ…… #include #define rep(i,a,b) for(int i=a,tt=b;i原创 2011-11-24 17:38:28 · 839 阅读 · 0 评论 -
动态树总结
这一段时间写了蛮多动态树的题,link-cut tree写的我想吐了…… bzoj 1036[ZJOI2008]树的统计Count bzoj 2049[Sdoi2008]Cave 洞穴勘测 (因bzoj挂ing,未测) bzoj 2243[SDOI2011]染色 ural 1553Caves and Tunnels spoj 375 qtree Query on a tree s原创 2011-11-25 17:22:06 · 1263 阅读 · 0 评论 -
关于划分树
从昨天晚上一直到今天,我都在纠结划分树……TMD打错变量害死人……我还一直以为划分树哪里写错了…… 划分树可以在O(nlogn)的时间内建树(常数巨大……),在logn的时间内求出一个区间内的第k小数(求第k大就改一下建树时的偏序关系) 怎么样做呢,HH大牛的blog上有一篇日志的图非常好…… 此图片转载自http://www.notonlysuccess.com/index.php原创 2011-11-27 11:28:25 · 593 阅读 · 0 评论 -
[Sdoi2008]Cave 洞穴勘测
BZOJ好了以后去交了这题,算是动态树补完 题目大意: 求一棵树上任意两点的连通性 这道题算是真真正正的link-cut tree了,之前的动态树题目都没有涉及link和cut操作 所以这道题让我发现了我在写cut过程中的一个错误,也让我更加深刻的体会到了link-cut tree的优美 对于修改,link cut即可 对于每个询问,看他们是否在同一棵树中 c原创 2011-11-28 19:59:11 · 1646 阅读 · 0 评论 -
[JSOI2007]文本生成器
这道题是很裸的trie图(AC自动机) 王赟的论文里面讲过一道题,求长度为n的字符串中不出现给定字符串的方案数,跟这道题差不多 这道题dp方程多加一维,f[i][j][k]表示长度为i,trie图位置在j,是否经过了至少一个匹配串的方案数 trie图很久没写了……今天复习了一下…… 用的是未改进的trie图,因为字符集比较小…… PS:吐槽这题的数据很水……我在trie图原创 2011-12-19 17:28:23 · 2429 阅读 · 0 评论 -
[POI2008]砖块Klo
那么问题就在于如何找任意区间的中位数 划分树和平衡树都可以解决 所以是水题一道…… 下面描述我的悲惨经历…… 上周周末就看到了这道题 觉得应该可以用划分树水过 屁颠屁颠写了个划分树,写到一半发现不对头,好像不能做 和pty讨论了一下发现实际上还是可以做 只不过维护很蛋疼…… 然后因为要期末考试了,把它放在那里没管 今天有空打算写一下 然后想的时候又觉得划分树没法做,然后就被绕原创 2012-01-10 19:42:17 · 1582 阅读 · 0 评论 -
[JSOI2010]Group部落划分
这道题可以贪心做 每次把距离最近的点对合并到一起 直到不能合并…… 我2b的想到什么最近点对之类的…… 一看n=1000,其实就是暴力求每两个点之间的距离,排个序并查集就行…… //Lib #include #include #include #include #include #include #include #include #include #include #incl原创 2012-01-14 09:52:09 · 1510 阅读 · 0 评论 -
寒假总结
寒假刷水记录…… bzoj1901: Zju2112 Dynamic Rankings 水题……暴力即可 http://ideone.com/nnjLb bzoj1207: [HNOI2004]打鼹鼠 DP,我一开始想的状态表示有3维,时间,x,y……然后发现完全没有必要,太稀疏了 用f[i]表示第i只老鼠的时刻即可,因为第i只老鼠的时候机器人要么空降,要么从别的老原创 2012-02-12 21:44:56 · 4067 阅读 · 3 评论 -
寒假总结2
bzoj1079: [SCOI2008]着色方案 DP,记录每一种颜色的个数和上一个染得什么颜色…… 记忆化搜索比较好写…… http://ideone.com/iYMu9 bzoj1050: [HAOI2006]旅行comf 将边从小到大排序,然后答案就相当于是对于边的一个区间…… 枚举左端点,然后不断加边直到s,t联通,并查集维护 对于得到的每个区间取最优值…… 问原创 2012-02-13 09:24:52 · 1983 阅读 · 0 评论 -
SGU512
题目大意: 给出那个点 求这样的点对个数:以两点连线为对角线的矩形内不存在其他点(也不能在边界上) 首先注意到:对于某一个点p,我们考虑y值大于等于p的其他点 那么可行的点若在p的左边,y值一定单调递增,在右边则单调递减 我们只考虑左边的(右边的可以通过坐标变换变到左边来) 那么用树状数组套单调队列,可以维护一段单调的y值, 另外就是单调队列的合并问题: 树状数组不断往回跳的时候,原创 2012-03-31 17:03:16 · 1601 阅读 · 0 评论 -
[ZJOI2008]树的统计Count
题目大意: 给出一棵树,点上有点权 有两种询问,询问两点之间树链上的点权和,询问两点之间树链上最大点权 点数 最裸的动态树,操作少,维护的值简单 //Lib #include #include #include #include #include #include #include #include #include #include using namespace原创 2011-11-18 21:09:30 · 2117 阅读 · 0 评论
分享