上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 58 下一页
摘要: XI.[USACO12NOV]Balanced Trees G 与上题类似,我们仍然需要分成$FR$路径和$TO$路径两部分考虑。默认将根归为$FR$路径中考虑。 首先是判断怎样搞才是合法的。关于这个,我们可以用一个pair<int,int>来记录全部匹配完后,剩余的)与(的数量,其中first表示 阅读全文
posted @ 2021-04-01 12:59 Troverld 阅读(75) 评论(0) 推荐(0) 编辑
摘要: X.[COCI2019] Transport 常规淀粉质的题也可以出的非常毒瘤…… 依旧考虑淀粉质。因为这里的路径是有向路径,所以会在分治中心被截成两半,一半从节点到根,记作$FR$路径;而另一半从根到节点,记作$TO$路径。显然,一条$FR$路径只能与来自不同子树的一条$TO$路径拼接,并且这两条 阅读全文
posted @ 2021-04-01 12:58 Troverld 阅读(61) 评论(0) 推荐(0) 编辑
摘要: IX.[BJOI2017]树的难题 debug三天,精神崩溃 论一行if(vis[v[x][r].second]){r++;continue;}忘记加上后所有代码全都莫名其妙TLE且查不出锅的痛苦 首先,我们考虑常规淀粉质。 我们考虑一条路径,它会被(淀粉质的分治根)截成两段。如果我们对于分治树中的 阅读全文
posted @ 2021-04-01 12:56 Troverld 阅读(74) 评论(0) 推荐(0) 编辑
摘要: VIII.[ZJOI2015]幻想乡战略游戏 题意:求一个树的带权重心,带修改。 现在首位的题解的方法太恶心了,这里介绍我自己的理解。 假设重心为$x$,我们有它的代价为: \(\sum\limits_{i=1}^{n}\operatorname{dis}(i,x)\times val_i\) 其中 阅读全文
posted @ 2021-04-01 12:52 Troverld 阅读(117) 评论(0) 推荐(1) 编辑
摘要: VII.[HNOI2015]开店 首先,第一种方法便是动态点分治。 我们先考虑忽略年龄限制的情形。 我们考虑正常求一个点到另一个点的距离应该怎么求—— 一般来说,我们会用$dis(i,j)=dep_i+dep_j-2*dep_{lca(i,j)}$对吧? 这个东西相当于将路径划分成两个部分,其中每个 阅读全文
posted @ 2021-04-01 12:49 Troverld 阅读(58) 评论(0) 推荐(0) 编辑
摘要: VI.【模板】点分树 | 震波 我们之前讲过一个叫做淀粉徐的东西,但就跟dfs序一样,把树压成序列,总会损失一些信息。有没有方法能够完整地维护出来淀粉质的信息呢? 还真有。 我们看到在对于某个点淀粉质时,它的所有子树,都会拥有一个下层的分治节点。 我们看到淀粉质的代码: void solve(int 阅读全文
posted @ 2021-04-01 12:47 Troverld 阅读(61) 评论(0) 推荐(0) 编辑
摘要: V.[FJOI2014]最短路径树问题 这题已经在我的收藏夹里吃了大半年的灰了……主要是因为他们有人把这题归到了树形DP里面,然后我就傻乎乎地把它收藏了…… 首先,假设我们已经求出了这个“最短路径树”,剩下的就是点分治的板子了。 而这个“最短路径树”,首先可以通过Dijkstra跑出最短路径DAG, 阅读全文
posted @ 2021-04-01 12:37 Troverld 阅读(73) 评论(0) 推荐(0) 编辑
摘要: IV.树上游戏 考虑淀粉质。 对于一棵分治树,我们考虑对树中所有LCA为根节点的路径计算贡献。 我们对于根节点一棵子树一棵子树地处理。设$cnt_i$表示子树外有多少条以根节点为一个端点的路径上有颜色\(i\)。则我们当前子树中的一个点的贡献可以分作两部分:子树外的部分(即$\sum cnt_i$) 阅读全文
posted @ 2021-04-01 12:34 Troverld 阅读(43) 评论(0) 推荐(0) 编辑
摘要: III.BZOJ3784: 树上的路径 思路1: 淀粉质。用priority_queue维护前$m$长的路径的长度。用multiset维护点分治时,之前所有子树的路径长度,然后对于新子树中的每一条路径,在multiset中从大往小枚举另一半路径拼一起并尝试加入优先队列。如果加入失败,那么对于这个点, 阅读全文
posted @ 2021-04-01 12:33 Troverld 阅读(39) 评论(0) 推荐(0) 编辑
摘要: II.BZOJ4675: 点对游戏 (因为C++11的缘故在BZOJ上交会CE) 思路: 我们首先使用淀粉质找出所有长度为“幸运数”的路径数量,设为$tot$。然后,设$f(x)$表示$x$个点间所有的路径数量(即为$\dfrac{x(x-1)}{2}\(),则答案即为\)\dfrac{tot\ti 阅读全文
posted @ 2021-04-01 12:32 Troverld 阅读(47) 评论(0) 推荐(0) 编辑
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 58 下一页