首页 > TAG信息列表 > 虚点
树同构AHU算法·魔改版
本文是博主树哈希被卡爆之后,又受学长指点,弃暗投明之作 该算法用来解决树同构问题。我们先考虑给定一棵树,如何判断两棵子树是否同构。 我们考虑,给每个点一个标号,使得同构子树的根,标号相同。 怎么做到呢?对于一个点 \(u\),把它的儿子的标号拎出来塞进一个vector里面,然后把vector排序,那[ZJOI2016]大森林
复盘 \(\text{zzq}\) 讲的题,来写篇题解祸害社会。 可能是更好做的想法。 Description 给定 \(n\) 棵树和 \(m\) 次操作,其中每棵树均有一个初始节点(并设定为“生长节点”),操作格式有三种: 给定 \(l\) 和 \(r\) ,让区间 \([l,\ r]\) 内所有树的生长节点下添加一个子节点,子节点序号为镜花水月, 树虚点实: 虚树学习笔记
Virtual Tree 揭开华丽的外衣, 关注问题的本质. 这就是虚树在做的事情, 所以虚树不虚, 反而是虚伪原树中最实在的部分, 所以它更应该被称作 "实树". 它在实际问题中常常回答完问题后就转瞬即逝, 所以给人的印象就是镜花水月一般的虚无飘渺, 现实中敢讲真话的人也有很多就这虚树一【牛客IOI周赛26-普及组 D-最短路 】题解
题目链接 题目 给定长度为 n 的数列 a,如果 (按位与),则在 i,j 之间存在一条长度为 的边,求 1 至所有点的最短路。 思路 暴力连边,边太多,最多 \(n^2\) 条,MLE+TLE。 于是考虑减少边的数量。 首先建32个虚点。 然后加入 \(a_i\) 在第 \(k\) 位上为1,就在 \(i\) 和第 \(k\) 个虚点当中连边,新的开始(朴素版prim算法)
题目:新的开始 题目链接:https://ac.nowcoder.com/acm/problem/50362 题意:有n个矿井,有两种方法可以保证矿井的电力供应: 在该矿井上建立发电站,费用为v。 将该矿井与已有电力供应的矿井间建立电网,费用为p。 求保证所有矿井都有电力供应的最小花费。 输入描述: 第一行输入矿井个数n(1 <[CSP-S2019] 树上的数 树上推理
还没整完明天再说,靠不小心点了发布、、 Link 某些废话 devinwang勒令我们补掉CSP2019的题 /youl 看了半天题解脑子里还是浆糊,退役人是我这样的。 这篇题解写的非常清楚,我写这个只是给我自己看。 题意 现在给你一棵树,数字 \(i\) 在编号为 \(p_i\) 的节点上。 每次删除一条边,删边时洛谷P1983 [NOIP2013 普及组] 车站分级
P1983 [NOIP2013 普及组] 车站分级 想了个nt优化怎么也觉得不对但是过了最后发现自己根本每加优化/px 每次列车停靠的车站都有可能是同一级,每次停靠的车站向没停靠的车站连有向边,然后拓扑排序即可 问题在于暴力建边复杂度为\(O(mn^2)\) 每辆车建一个虚点,停靠的站指向虚点,虚点指向建立虚点?一类暴力连边会超时的最短路问题
最近在牛客和cf上面一连做到了两道类似的题目,是关于最短路算法优化问题的。 https://ac.nowcoder.com/acm/contest/6885/E 题目大意: 给定 个点,第 个点有权值 。如果对于 有 不为 ,那么 间有无向边,边权为 。问从 到 的最短路。 首先暴力连边的做法肯定是不行的,由于题目条LCT好题总结
写在前面: 初探多项式之后,开始了数据结构之旅,可持久化数据结构的总结大概是咕了,只总结一些$LCT$的题 T1:水管局长数据加强版 发现题中只有删边操作,而我们只会做加边,所有考虑时光倒流 先在最后时刻作出最小生成树,之后$LCT$维护最大值不断$link,cut$加边删边更新答案即可 T2:GERALD07线段树优化建边
没做过几道题,线段树优化建边和虚点有关,可以有效处理区间/单点和区间的点连边的问题,防TLE或MLE 在线段树中每一个节点都是能代表整个它控制区间的虚点,这些点都向它的儿子连权值为0的边。而叶子直接连序列上的实点。 举个例子,4点向区间[1,2]连边,那么可以直接连线段树2节点对应的虚bzoj 4573 大森林
bzoj 4573 大森林 由于树上路径是唯一的,查询合法的两个点间路径长度显然与其他加点操作无关,所以可以离线处理,将所有的查询放在加点后. 这样我们可以对每棵树都在上颗树的基础上处理好形态后,处理这颗树上的询问. 考虑若没有操作 \(1\) ,则所有树都一模一样.那么两棵树的形态不UOJ#195. 【ZJOI2016】大♂森林 LCT
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ195.html 题解 首先询问都可以放到最后处理。 对于操作,我们把它差分一下离线下来。 现在的问题就是从第一棵树到第 n 棵树扫一遍,并不断维护树的形态。 容易感受到这棵树会有删节点之类的操作,所以自然想到 LCT