dfs序
SC.ldxcaicai
我很菜=_=
展开
-
2018.10.05 NOIP模拟 相遇(dfs序+lca)
描述豪哥生活在一个n个点的树形城市里面,每一天都要走来走去。虽然走的是比较的多,但是豪哥在这个城市里面的朋友并不是很多。当某一天,猴哥给他展现了一下大佬风范之后,豪哥决定要获得一些交往机会来提升交往能力。豪哥现在已经物色上了一条友,打算和它(豪哥并不让吃瓜群众知道性别)交往。豪哥现在spy了一下这个人的所有行程起点和终点,豪哥打算从终点开始走到起点与其相遇。但是豪哥是想找话题的,他想知道以前有...原创 2018-10-11 23:46:41 · 266 阅读 · 0 评论 -
2018.09.30 bzoj3551:Peaks加强版(dfs序+主席树+倍增+kruskal重构树)
传送门一道考察比较全面的题。这道题又用到了熟悉的kruskal+倍增来查找询问区间的方法。查到询问的子树之后就可以用dfs序+主席树统计答案了。代码:#include<bits/stdc++.h>#define N 200005#define M 500005using namespace std;inline int read(){ int ans=0; ch...原创 2018-09-30 14:40:04 · 200 阅读 · 0 评论 -
2018.10.20 NOIP模拟 巧克力(trie树+dfs序+树状数组)
传送门好题啊。考虑前面的32分,直接维护后缀trietrietrie树就行了。如果#号不在字符串首?只需要维护第一个#前面的字符串和最后一个#后面的字符串。分开用两棵trie树并且维护第一棵树上当前点到根的路径上的所有点在第二棵树上的对应点。于是支持对子树求和、对到根的一条链求和两种查询就行了用dfs序+树状数组差分来支持这些操作.代码...原创 2018-10-20 16:48:05 · 169 阅读 · 0 评论 -
2018.11.01 NOIP训练 图论(线段树+倍增+dfs序)
传送门一道挺妙的题。对于询问点(u,v),如右图所示,我们可以发现存在一个点m在u->v的路径中,m子树的点到u是最近的,m子树外到v是最近的。其中dis(u,m)=(dis(u,v)-1)/2,且deep[u]>deep[v]根据这个结论,问题转换为m子树中找出距离u最大的点,在m子树外找出距离v的最大的点。子树的信息维护最大值自然可以想到dfs序+线段树。维护的算法步...原创 2018-11-01 18:18:02 · 216 阅读 · 0 评论 -
2018.11.05 NOIP模拟 相交(dfs序+bit)
传送门又TMTMTM考原题真是服。考虑到两条路径相交一定满足某一条的lcalcalca在另外一条路径上面。于是分开统计有多少个lcalcalca在当前路径上面以及有多少个路径经过了当前的lcalcalca,再扣去lcalcalca重复的情况就行了。代码...原创 2018-11-05 20:02:04 · 144 阅读 · 0 评论 -
2018.11.08 NOIP模拟 班车(倍增+dfs+bit)
传送门对于每个点离线处理出向上走2i2^i2i班车到的最上面的点。然后每个询问(u,v)(u,v)(u,v)先把(u,v)(u,v)(u,v)倍增到刚好走不到lcalcalca的情况(有一个点如果就是lcalcalca直接特判)然后考虑最后把(u′,v′)(u',v')(u′,v′)连起来需要走一次还是两次。这个就是一个二维数点问题了。用dfsdfsd...原创 2018-11-08 23:37:05 · 237 阅读 · 0 评论 -
bzoj4876: [Zjoi2017]线段树(树上差分)
传送门对于这种广义线段树的题,想要定位区间[l,r][l,r][l,r]可以转化成定位节点[l−1,l−1],[r+1,r+1][l-1,l-1],[r+1,r+1][l−1,l−1],[r+1,r+1]路径上的一些儿子节点。设lca=tlca=tlca=t那么路径[l−1,l−1]→t[l-1,l-1]\rightarrow t[l−1,l−1]→t的右儿子和路径[r+1,r+1]→t[r...原创 2019-06-27 21:56:44 · 185 阅读 · 0 评论 -
bzoj2434: [Noi2011]阿狸的打字机(ac自动机+dfs序+bit)
传送门题意:有一个打字机,有三种操作:打一个小写字母删去最近打的一个小写字母将打印当前的字符串现在多组询问,每次问第xxx个被打印串在第yyy个被打印串中出现次数。思路:按照题意先建出trietrietrie树与failfailfail树。然后考虑第xxx个打印串在第yyy个被打印串中出现次数等于failfailfail树上面xxx子树中属于字符串yyy的节点数。于是我们离...原创 2019-07-13 22:13:55 · 111 阅读 · 0 评论 -
NOIp训练 子串查找VII(树剖+ac自动机+dfs序+bit套主席树)
传送门题意:有一棵nnn个点的无根树,第iii个点上有一个字符串sis_isi作为编号和一个权值viv_ivi,现在有mmm次强制在线的询问/修改。询问:给出一个字符串SSS和一条路径(u,v)(u,v)(u,v),路径上iii点的贡献是sis_isi在SSS中出现次数*viv_ivi,问总贡献。时间复杂度:O(nlogn3),∑∣si∣,∑∣S∣,n,mO(nlogn^3),\s...原创 2019-07-17 19:36:24 · 250 阅读 · 0 评论