随笔分类 - 图论
摘要:链接 "loj" luogu太水不要去了。 思路 二分。 每个军队在一定的时间内越往上越好。 注意一个军队可以跨过1去帮别的。 把能到1脚下的点都存下来特判。 有一种情况是这个子树内只有一个军队,但这个军队跑去帮别人了。 其他军队来帮这个子树。 就像这样。 四号点的军队还有2秒钟,而且四号点有两个军
阅读全文
摘要:[TOC] [NOIP2015]运输计划 链接 "luogu" 好久没写博客了,水一篇波。 思路1 暴力数据结构 枚举最长链的边,删除后代价为(最长链 边权,不经过这条边的链)的最大值。 不经过某条边的最大值要用线段树维护补集。 复杂度$O(nlog^2n)$ 思路2 二分树上差分 二分答案,删除的
阅读全文
摘要:loj2090. 「ZJOI2016」旅行者 链接 "loj" 思路 $(l,mid)(mid+1,r)$.考虑跨过mid的贡献。 假设选的中间那条线的点为gzy,贡献为$dis(x,gzy)+dis(gzy,y)$ 那就计算n遍最短路,一次分治为$n^2mlog{nm}$ 设S=n m.矩阵的长度
阅读全文
摘要:P4551最长异或路径 链接 "luogu" 思路 从$1$开始$dfs$求出$xor$路径。然后根据性质$x$到$y$的$xor$路径就是$xo[x]^xo[y]$ 代码 cpp include using namespace std; const int _=1e5+7; int xo[_],w
阅读全文
摘要:bzoj4501: 旅行 链接 "bzoj" 思路 我居然一上来就的去重边,我tm真可爱。 如果没有修改的话就是一个拓扑dp。 $f[u]=\sum\frac{f[v]+1}{numson}$ 修改的话a[i]表示这个边要不要。 $f[u]=\frac{\sum (f[v]+1) a[i]}{\su
阅读全文
摘要:P4211 [LNOI2014]LCA 链接 "loj" "luogu" 思路 多次询问$\sum\limits_{l \leq i \leq r}dep[LCA(i,z)]$ 可以转化成l到r上的点到根的路径+1 最后求一下1到z的路径和就是所求 区间$[l,r]$是可以差分的 离线直接求就行了。
阅读全文
摘要:链接 "luogu" 思路 颜色很少,开10个lct分别维护 这一行的代码调了半天。 代码
阅读全文
摘要:[NOI2014]魔法森林 链接 "loj" 思路 a排序,b做动态最小生成树。 把边拆成点就可以了。 uoj98.也许lct复杂度写假了、、越卡常,越慢 代码
阅读全文
摘要:1023: [SHOI2008]cactus仙人掌图 链接 "bzoj" 思路 仙人掌求两点间最短路最大。姑且叫他仙人掌的直径。 f[u]表示u为端点的最长的最短路 当他是圆圆边,和树上一样dp转移。 圆方边,取出环了进行别的dp。 转化成带权的环上更新两端距离的最短路的最大值,单调队列。 最后别忘
阅读全文
摘要:[SDOI2019]热闹又尴尬的聚会 链接 "luogu" "loj" 思路 第一问贪心?的从小到大删除入度最小的点,入度是动态的,打个标记。 当然不是最大独立集。 第二问第一问的顺序选独立集,不行就不要。选出来的一定是满足不等式的。 每次最多删除p+1个,独立集个数是$\lceil \frac{n
阅读全文
摘要:[SDOI2018]物理实验 set,扫描线,旋转坐标系 链接 "loj" 思路 先将导轨移到原点,然后旋转坐标系,参考 "博客" 。 然后分线段,每段的贡献(三角函数值)求出来,用自己喜欢的平衡树,我选set。 显然答案的一端是小线段的端点。 然后扫描线求出最大的ans。 代码 cpp inclu
阅读全文
摘要:3495: PA2010 Riddle 2 sat 前缀优化 链接 "bzoj" 思路 不想说啥了,看 "hwim" 的吧,我去睡觉了zZ。 代码 cpp / Problem: 3495 User: gryz2016 Language: C++ Result: Accepted Time:19152
阅读全文
摘要:loj 2255. 「SNOI2017」炸弹 线段树优化建图,拓扑,缩点 链接 "loj" 思路 用交错关系建出图来,发现可以直接缩点,拓扑统计。 完了吗,不,瓶颈在于边数太多了,线段树优化建图。 细节 建新图要判重。 内存永远算不对 代码 cpp include define ll long lo
阅读全文
摘要:bzoj1997 [HNOI2010]平面图判定Planar 链接 "bzoj" "luogu" 思路 好像有很多种方法过去。我只说2 sat 环上的边,要不在里面,要不在外边。 有的边是不能同时在里面的,可以O(m^2)的连边 但是m是10000,不过平面图内边数不得超过3 n 6, m太大的直接
阅读全文
摘要:CF1062E Company 链接 "cf" "luogu" 题目大意 给定一颗树,有若干个询问,每个询问给出 l,r,要求编号为 ll~rr 的点任意删去一个之后剩余点的 LCA 深度最大,输出删去点的编号和 LCA 的最大深度 思路 一堆点的lca就是dfs序列的最大和最小的lca 因为只能删
阅读全文
摘要:CF685B Kay and Snowflake 链接 "CF" 题目大意 给你一颗树,询问子树的重心 思路 贪心? 重心肯定是向上走的,所以直接向上跳就好了。 不优秀的时候就不要跳了 ,因为以后也不能更新了。 复杂度O(n)(没大仔细想过) 代码 cpp include using namespa
阅读全文
摘要:CF Round 551 (Div. 2) D 链接 https://codeforces.com/contest/1153/problem/D 思路 不考虑赋值和贪心,考虑排名。 设$dp_i$是子树i中的i是第dp_i大的(相同大小放在后面)。 $opt=1,dp_u=max(dp[v])(v\
阅读全文
摘要:luogu2046[NOI2010]海拔 对偶图优化 链接 https://www.luogu.org/problemnew/show/P2046 思路 海拔一定是0或者1,而且会有一条01交错的分界线。 转化为最小割,用对偶图优化求得。 "最小割论文" 写的特清楚。 代码 cpp include
阅读全文
摘要:bzoj1001狼抓兔子 对偶图优化 链接 https://www.lydsy.com/JudgeOnline/problem.php?id=1001 思路 菜鸡总是要填坑的! 很明显让你求网格图的最小割 不过1000 1000明显不能跑dinic(虽然可以水过) 我们可以用对偶图来优化辣。 对偶图
阅读全文
摘要:bzoj1565: [NOI2009]植物大战僵尸 链接 https://www.lydsy.com/JudgeOnline/problem.php?id=1565 思路 很容易的想到最大权闭合子图 但这个图是有环的 有环的地方当然是都过不去的地方 显然他所保护的地方也是过不去的 他保护的地方的保护
阅读全文